diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-01-09 04:26:31 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-01-09 04:26:31 +0000 |
commit | 27f9ede1e987af3871fd37a00de2ae5ed276bb7e (patch) | |
tree | 9e3c449618cc45ec0c7cdef687f790fd8f7e91c6 | |
parent | f2a8d16bed62f39b40dbd87f4b642e851b8eb23d (diff) | |
download | glibc-27f9ede1e987af3871fd37a00de2ae5ed276bb7e.tar.gz glibc-27f9ede1e987af3871fd37a00de2ae5ed276bb7e.tar.xz glibc-27f9ede1e987af3871fd37a00de2ae5ed276bb7e.zip |
Update.
* elf/dl-load.c (_dl_map_object): Don't look in cache for preloading in SUID binaries.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dl-load.c | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 357853e4f4..23d6c8431c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2001-01-08 Ulrich Drepper <drepper@redhat.com> + * elf/dl-load.c (_dl_map_object): Don't look in cache for + preloading in SUID binaries. + * elf/dl-profile.c (_dl_start_profile): Open the output file with O_NOFOLLOW if possible. diff --git a/elf/dl-load.c b/elf/dl-load.c index 24ac6f018a..8eff49cbbe 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1,5 +1,5 @@ /* Map in a shared object's segments from the file. - Copyright (C) 1995,96,97,98,99,2000 Free Software Foundation, Inc. + Copyright (C) 1995,96,97,98,99,2000,2001 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 @@ -1559,7 +1559,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, fd = open_path (name, namelen, preloaded, &env_path_list, &realname, &fb); - /* Look at the RUNPATH informaiton for this binary. */ + /* Look at the RUNPATH information for this binary. */ if (loader != NULL && loader->l_runpath_dirs.dirs != (void *) -1) { if (loader->l_runpath_dirs.dirs == NULL) @@ -1585,7 +1585,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, &loader->l_runpath_dirs, &realname, &fb); } - if (fd == -1) + if (fd == -1 && (! preloaded || ! __libc_enable_secure)) { /* Check the list of libraries in the file /etc/ld.so.cache, for compatibility with Linux's ldconfig program. */ |