From: Damien Miller Date: Wed, 15 Mar 2000 00:23:48 +0000 (+1100) Subject: - Don't free argument to putenv() after use (in setenv() replacement). X-Git-Tag: V_1_2_3_PRE3~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f09b07a971f64cf69f2c45a364c3d56559f7c1c3;p=thirdparty%2Fopenssh-portable.git - Don't free argument to putenv() after use (in setenv() replacement). Report from Seigo Tanimura --- diff --git a/ChangeLog b/ChangeLog index 0fbe54738..7d2877682 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ 20000315 - Fix broken CFLAGS handling during search for OpenSSL. Fixes va_list problems with gcc/Solaris. + - Don't free argument to putenv() after use (in setenv() replacement). + Report from Seigo Tanimura 20000314 - Include macro for IN6_IS_ADDR_V4MAPPED. Report from diff --git a/bsd-misc.c b/bsd-misc.c index 99fe29816..83cb0b85d 100644 --- a/bsd-misc.c +++ b/bsd-misc.c @@ -154,7 +154,10 @@ int setenv(const char *name, const char *value, int overwrite) result = putenv(env_string); - xfree(env_string); + /* Putenv doesn't copy the env_string, so we need to keep a copy of it */ + /* around. This leaks a bit of memory, but it doesn't matter */ + /* for our (OpenSSH port ) use: setenv is only used twice in ssh-agent */ +/* xfree(env_string); */ return(result); }