aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/environ.cc4
2 files changed, 8 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 90c7bea..35845b3 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+Sun Sep 3 00:38:40 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * environ.cc (environ_init): Don't free the new environment table after
+ we've just copied stuff to it.
+
Sun Sep 3 00:07:32 2000 Christopher Faylor <cgf@cygnus.com>
* Makefile.in: Add cygheap.o.
diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc
index 89ad0ab..2cc8080 100644
--- a/winsup/cygwin/environ.cc
+++ b/winsup/cygwin/environ.cc
@@ -19,6 +19,7 @@ details. */
#include "fhandler.h"
#include "path.h"
#include "cygerrno.h"
+#include "cygheap.h"
extern BOOL allow_glob;
extern BOOL allow_ntea;
@@ -535,8 +536,9 @@ environ_init (char **envp)
{
sz = envsize (envp, 1);
char **newenv = (char **) malloc (sz);
- envp = (char **) memcpy (newenv, envp, sz);
+ memcpy (newenv, envp, sz);
cfree (envp);
+ envp = newenv;
goto out;
}