diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/Makefile | 2 | ||||
-rw-r--r-- | elf/rtld.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/elf/Makefile b/elf/Makefile index 685a027834..c49916cec8 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -37,7 +37,7 @@ elide-routines.os = $(dl-routines) dl-support enbl-secure rtld-routines := rtld $(dl-routines) dl-sysdep dl-minimal distribute = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \ dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c \ - genrtldtbl.awk atomicity.h + genrtldtbl.awk atomicity.h dl-procinfo.h extra-libs = libdl extra-libs-others = $(extra-libs) diff --git a/elf/rtld.c b/elf/rtld.c index aa40d42097..f1b45de1e0 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -489,14 +489,14 @@ of this helper program; chances are you did not intend to run this program.\n", preloadlist = getenv ("LD_PRELOAD"); if (preloadlist) { - /* The LD_PRELOAD environment variable gives a white space - separated list of libraries that are loaded before the + /* The LD_PRELOAD environment variable gives list of libraries + separated by white space or colons that are loaded before the executable's dependencies and prepended to the global scope list. If the binary is running setuid all elements containing a '/' are ignored since it is insecure. */ char *list = strdupa (preloadlist); char *p; - while ((p = strsep (&list, " ")) != NULL) + while ((p = strsep (&list, " :")) != NULL) if (! __libc_enable_secure || strchr (p, '/') == NULL) { struct link_map *new_map = _dl_map_object (NULL, p, lt_library, 0); |