From f09b07a971f64cf69f2c45a364c3d56559f7c1c3 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 15 Mar 2000 11:23:48 +1100 Subject: - Don't free argument to putenv() after use (in setenv() replacement). Report from Seigo Tanimura --- ChangeLog | 2 ++ bsd-misc.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) 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); } -- cgit v1.2.3