diff -r 000000000000 -r 2be7232a73ac patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch Sat Jul 28 21:34:41 2007 +0000 @@ -0,0 +1,32 @@ +2000-05-03 Ulrich Drepper + + * sysdeps/generic/dl-environ.c (unsetenv): Follow change to the + real unsetenv implementation from 1999-07-29 [PR libc/1714]. + +--- glibc-2.1.3/sysdeps/generic/dl-environ.c.jj Thu Jul 23 16:56:52 1998 ++++ glibc-2.1.3/sysdeps/generic/dl-environ.c Tue May 9 13:48:11 2000 +@@ -1,5 +1,5 @@ +-/*Environment handling for dynamic loader. +- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. ++/* Environment handling for dynamic loader. ++ Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -55,7 +55,8 @@ unsetenv (const char *name) + const size_t len = strlen (name); + char **ep; + +- for (ep = _environ; *ep != NULL; ++ep) ++ ep = _environ; ++ while (*ep != NULL) + if (!strncmp (*ep, name, len) && (*ep)[len] == '=') + { + /* Found it. Remove this pointer by moving later ones back. */ +@@ -66,4 +67,6 @@ unsetenv (const char *name) + while (*dp++); + /* Continue the loop in case NAME appears again. */ + } ++ else ++ ++ep; + }