]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
For b/20141439, don't add "foo.so" as alternate name for previously loaded "foo.so...
authorPaul Pluzhnikov <ppluzhnikov@google.com>
Fri, 2 Oct 2015 14:31:16 +0000 (07:31 -0700)
committerPaul Pluzhnikov <ppluzhnikov@google.com>
Fri, 2 Oct 2015 14:31:16 +0000 (07:31 -0700)
README.google
elf/dl-load.c

index b7a1f92a926ce700f2c67451a2ae37975f6ec58d..832b2f6c417d504b8815fd1bb5808c9ef97029ee 100644 (file)
@@ -494,3 +494,7 @@ nss/tst-nss-getpwent.c
   For b/19498319, backport fix for nss_files file management (PR18007, CVE-2014-8121)
   https://sourceware.org/git/?p=glibc.git;a=commit;h=03d2730b44cc2236318fd978afa2651753666c55
   (stanshebs, backport)
+
+elf/dl-load.c
+  For b/20141439, don't add "foo.so" as alternate name for already loaded foo.so/@0x<offset>
+  (ppluzhnikov, google-local)
index 3850f6e64b3c32feb0de3542dd93620aef892c7b..1b3e25928128b17a0b869bcc27f8afe769803ef7 100644 (file)
@@ -966,7 +966,10 @@ _dl_map_object_from_fd (const char *name, int fd, off_t offset,
        /* If the name is not in the list of names for this object add
           it.  */
        free (realname);
-       add_name_to_object (l, name);
+       if (offset == 0)
+         /* If offset!=0, foo.so/@0x<offset> should be the *only*
+            name for this object. b/20141439.  */
+         add_name_to_object (l, name);
 
        return l;
       }