diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-01-20 19:14:31 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-01-20 19:14:31 +0000 |
commit | b72f9d5197d1281664c3fd0ccffa328dfc195818 (patch) | |
tree | d257f4205309a60d9296d8927e2d55ea68b54b4c | |
parent | 1b6020c13edefec6850b9f58d856c5f95de7c1ea (diff) | |
download | glibc-b72f9d5197d1281664c3fd0ccffa328dfc195818.tar glibc-b72f9d5197d1281664c3fd0ccffa328dfc195818.tar.gz glibc-b72f9d5197d1281664c3fd0ccffa328dfc195818.tar.bz2 glibc-b72f9d5197d1281664c3fd0ccffa328dfc195818.zip |
Update.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix typo
preventing optimization from being done. Set the correct type bit
in seen. Don't define and use _dl_base_addr unless
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/generic/dl-sysdep.c | 11 |
2 files changed, 8 insertions, 9 deletions
@@ -1,8 +1,8 @@ 2001-01-20 Ulrich Drepper <drepper@redhat.com> - * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Initialize egid - to 1. This helps those installing ld.so SUID (nobody will be that - stupid, I hope). Don't define and use _dl_base_addr unless + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix typo + preventing optimization from being done. Set the correct type bit + in seen. Don't define and use _dl_base_addr unless NEED_DL_BASE_ADDR is defined. * io/ftw.c (ftw_dir): Add slash after directory name if there diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c index e6caf97240..38ca412eae 100644 --- a/sysdeps/generic/dl-sysdep.c +++ b/sysdeps/generic/dl-sysdep.c @@ -89,14 +89,13 @@ _dl_sysdep_start (void **start_argptr, uid_t uid = 0; uid_t euid = 0; gid_t gid = 0; -#ifdef HAVE_AUX_X - /* This adds a little bit of security. If the kernel does not pass - any value up we default to the safe mode. */ - gid_t egid = 1; -#else gid_t egid = 0; +#ifdef HAVE_AUX_XID +# define set_seen(tag) (tag) /* Evaluate for the side effects. */ +#else unsigned int seen = 0; # define M(type) (1 << (type)) +# define set_seen(val) seen |= M ((tag)->a_type) #endif DL_FIND_ARG_COMPONENTS (start_argptr, _dl_argc, _dl_argv, _environ, @@ -105,7 +104,7 @@ _dl_sysdep_start (void **start_argptr, user_entry = (ElfW(Addr)) &ENTRY_POINT; _dl_platform = NULL; /* Default to nothing known about the platform. */ - for (av = _dl_auxv; av->a_type != AT_NULL; seen |= M ((++av)->a_type)) + for (av = _dl_auxv; av->a_type != AT_NULL; set_seen (av++)) switch (av->a_type) { case AT_PHDR: |