summaryrefslogtreecommitdiff
path: root/sal/osl/unx/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'sal/osl/unx/process.c')
-rw-r--r--sal/osl/unx/process.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sal/osl/unx/process.c b/sal/osl/unx/process.c
index a1f47cdf76a5..3bce1928e03a 100644
--- a/sal/osl/unx/process.c
+++ b/sal/osl/unx/process.c
@@ -488,7 +488,16 @@ static void ChildStatusProc(void *pData)
chdir(data.m_pszDir);
for (i = 0; data.m_pszEnv[i] != NULL; i++)
- putenv(data.m_pszEnv[i]);
+ {
+ if (strchr(data.m_pszEnv[i], '=') == NULL)
+ {
+ unsetenv(data.m_pszEnv[i]); /*TODO: check error return*/
+ }
+ else
+ {
+ putenv(data.m_pszEnv[i]); /*TODO: check error return*/
+ }
+ }
#if defined(LINUX) && !defined(NPTL)
/* mfe: linux likes to have just one thread when the exec family is called */