summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--generic/tclEnv.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c176361..664929a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-05-14 Jeff Hobbs <jeffh@ActiveState.com>
+
+ * generic/tclEnv.c (TclUnsetEnv): Another putenv() copy behavior
+ problem repaired when compiling on windows and using microsoft's
+ runtime. [Bug 736421] (gravereaux)
+
2003-05-13 Jeff Hobbs <jeffh@ActiveState.com>
* generic/tclIOUtil.c: add decl for FsThrExitProc to suppress
diff --git a/generic/tclEnv.c b/generic/tclEnv.c
index 1d6e66f..1e171ff 100644
--- a/generic/tclEnv.c
+++ b/generic/tclEnv.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclEnv.c,v 1.20 2003/01/14 02:06:11 mdejong Exp $
+ * RCS: @(#) $Id: tclEnv.c,v 1.20.2.1 2003/05/14 17:17:46 hobbs Exp $
*/
#include "tclInt.h"
@@ -429,6 +429,11 @@ TclUnsetEnv(name)
if (environ[index] == string) {
ReplaceString(oldValue, string);
+#ifdef HAVE_PUTENV_THAT_COPIES
+ } else {
+ /* This putenv() copies instead of taking ownership */
+ ckfree(string);
+#endif
}
#else
for (envPtr = environ+index+1; ; envPtr++) {