]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* elf/ldconfig.c (search_dir): Skip prelink temporaries. cvs/fedora-glibc-2_3_90-23
authorJakub Jelinek <jakub@redhat.com>
Tue, 27 Dec 2005 16:21:07 +0000 (16:21 +0000)
committerJakub Jelinek <jakub@redhat.com>
Tue, 27 Dec 2005 16:21:07 +0000 (16:21 +0000)
ChangeLog
elf/ldconfig.c

index 4bc4bb12fc47c230dc5398bd9ed0fec0950d19d2..8d7a003cc003e998dce10913948315a610d71776 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-12-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf/ldconfig.c (search_dir): Skip prelink temporaries.
+
 2005-12-27  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/sparc/bits/errno.h: Define EOWNERDEAD
index e5a931913f02f278e6c4b4a01e42330f12969ea6..beece51ad89be50922aee514e7a6b725bc0a88ba 100644 (file)
@@ -693,7 +693,18 @@ search_dir (const struct dir_entry *entry)
 #endif
              !is_hwcap_platform (direntry->d_name)))
        continue;
-      len = strlen (entry->path) + strlen (direntry->d_name);
+      len = strlen (direntry->d_name);
+      if (len >= sizeof (".#prelink#") - 1)
+       {
+         if (strcmp (direntry->d_name + len - sizeof (".#prelink#") + 1,
+                     ".#prelink#") == 0)
+           continue;
+         if (len >= sizeof (".#prelink#.XXXXXX") - 1
+             && memcmp (direntry->d_name + len - sizeof (".#prelink#.XXXXXX")
+                        + 1, ".#prelink#.", sizeof (".#prelink#.") - 1) == 0)
+           continue;
+       }
+      len += strlen (entry->path);
       if (len > file_name_len)
        {
          file_name_len = len + 1;