From 79daf41d5183100a8f71db844eafc2fb2c70276c Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 11 Jul 2011 18:31:35 +0400 Subject: [PATCH] EA-28719 - NPE: GeneralCommandLine.getEnvParamsArray --- .../execution/configurations/GeneralCommandLine.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/platform/platform-api/src/com/intellij/execution/configurations/GeneralCommandLine.java b/platform/platform-api/src/com/intellij/execution/configurations/GeneralCommandLine.java index 95ab508b6527..1672e82b9946 100644 --- a/platform/platform-api/src/com/intellij/execution/configurations/GeneralCommandLine.java +++ b/platform/platform-api/src/com/intellij/execution/configurations/GeneralCommandLine.java @@ -18,6 +18,8 @@ package com.intellij.execution.configurations; import com.intellij.execution.ExecutionException; import com.intellij.execution.process.ProcessNotCreatedException; import com.intellij.ide.IdeBundle; +import com.intellij.openapi.diagnostic.Log; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.CharsetToolkit; @@ -34,6 +36,7 @@ import java.util.List; import java.util.Map; public class GeneralCommandLine { + private static final Logger LOG = Logger.getInstance("#" + GeneralCommandLine.class.getName()); private Map myEnvParams; private boolean myPassParentEnvs; private String myExePath = null; @@ -144,6 +147,13 @@ public class GeneralCommandLine { private String[] getEnvParamsArray() { final Map envParams = collectEnvParams(); if (envParams == null) return null; + for (Iterator iterator = envParams.keySet().iterator(); iterator.hasNext(); ) { + final String key = iterator.next(); + if (envParams.get(key) == null) { + LOG.info("null value for env variable: " + key); + iterator.remove(); + } + } final String[] result = new String[envParams.size()]; int i=0; for (final String key : envParams.keySet()) {