summaryrefslogtreecommitdiff
path: root/patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch')
-rw-r--r--patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch b/patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch
new file mode 100644
index 0000000..5bef1fd
--- /dev/null
+++ b/patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch
@@ -0,0 +1,32 @@
+2000-05-03 Ulrich Drepper <drepper@redhat.com>
+
+ * 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;
+ }