diff --git a/ChangeLog b/ChangeLog index c2ed0c07f..2bc728831 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,3 @@ -2007-10-27 Ludovic Courtès - - * NEWS: Mention `putenv' memory leak fix. - 2007-10-24 Neil Jerram * .cvsignore: Add "lib". diff --git a/NEWS b/NEWS index 23029b0c2..6e8fe09f4 100644 --- a/NEWS +++ b/NEWS @@ -43,7 +43,6 @@ Changes in 1.8.4 (since 1.8.3) ** CR (ASCII 0x0d) is (again) recognized as a token delimiter by the reader ** Fixed a segmentation fault which occurred when displaying the backtrace of a stack with a promise object (made by `delay') in it. -** Fixed memory leak in `putenv' Changes in 1.8.3 (since 1.8.2) diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 9d7598631..d59bc98ec 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,7 +1,5 @@ 2007-10-27 Ludovic Courtès - * posix.c (scm_putenv): Make sure C_STR gets freed. - * fports.c (scm_i_evict_port): Expect a port, rather than a pair containing the port. Fixes a bug in the new port table (2007-08-26). (scm_evict_ports): Use `scm_c_port_for_each ()'. diff --git a/libguile/posix.c b/libguile/posix.c index 5b094837c..76dcd3d10 100644 --- a/libguile/posix.c +++ b/libguile/posix.c @@ -1385,8 +1385,6 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0, #else /* otherwise traditional putenv("NAME") */ rv = putenv (c_str); - free (c_str); - if (rv < 0) SCM_SYSERROR; #endif @@ -1408,9 +1406,7 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0, char *ptr = scm_malloc (len+2); strcpy (ptr, c_str); strcpy (ptr+len, " "); - rv = putenv (ptr); - free (ptr); if (rv < 0) { int eno = errno; @@ -1423,8 +1419,6 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0, ptr = getenv (c_str); if (ptr) ptr[0] = '\0'; - free (c_str); - return SCM_UNSPECIFIED; } } @@ -1433,8 +1427,6 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0, /* Leave c_str in the environment. */ rv = putenv (c_str); - free (c_str); - if (rv < 0) SCM_SYSERROR; }