Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 9 Jan 2001 04:26:31 +0000 (04:26 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 9 Jan 2001 04:26:31 +0000 (04:26 +0000)
* elf/dl-load.c (_dl_map_object): Don't look in cache for
preloading in SUID binaries.

ChangeLog
elf/dl-load.c

index 357853e..23d6c84 100644 (file)
--- 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.
 
index 24ac6f0..8eff49c 100644 (file)
@@ -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.  */