diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-09-26 12:12:28 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-09-26 12:12:28 +0000 |
commit | c4e328a12e1ddbdf9c5dbede56beb826d50f2776 (patch) | |
tree | ac7676f5cba094e30790ad7ab563c77f61162dbe | |
parent | 412c954afacf0e5f62ff66ae870df18444b4a799 (diff) | |
download | glibc-c4e328a12e1ddbdf9c5dbede56beb826d50f2776.tar.gz |
[BZ #384]
Update.
* elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of
environment. [BZ #384]
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dl-support.c | 20 |
2 files changed, 13 insertions, 10 deletions
@@ -1,5 +1,8 @@ 2004-09-26 Ulrich Drepper <drepper@redhat.com> + * elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of + environment. [BZ #384] + * sunrpc/clnt_udp.c (is_network_up): Use getifaddrs instead of ioctl. * sunrpc/get_myaddr.c (get_myaddress): Likewise. * sunrpc/pmap_clnt.c (__get_myaddress): Likewise. diff --git a/elf/dl-support.c b/elf/dl-support.c index 2b53770605..c5976cd401 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -257,22 +257,22 @@ _dl_non_dynamic_init (void) if (__libc_enable_secure) { - static const char *unsecure_envvars[] = - { - UNSECURE_ENVVARS, + static const char unsecure_envvars[] = + UNSECURE_ENVVARS #ifdef EXTRA_UNSECURE_ENVVARS EXTRA_UNSECURE_ENVVARS #endif - }; - size_t cnt; + ; + const char *cp = unsecure_envvars; - for (cnt = 0; - cnt < sizeof (unsecure_envvars) / sizeof (unsecure_envvars[0]); - ++cnt) - unsetenv (unsecure_envvars[cnt]); + while (cp < unsecure_envvars + sizeof (unsecure_envvars)) + { + __unsetenv (cp); + cp = (const char *) __rawmemchr (cp, '\0') + 1; + } if (__access ("/etc/suid-debug", F_OK) != 0) - unsetenv ("MALLOC_CHECK_"); + __unsetenv ("MALLOC_CHECK_"); } #ifdef DL_PLATFORM_INIT |