diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-12-27 16:21:07 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-12-27 16:21:07 +0000 |
commit | 6b7af0b98b394c10882d125d6ba5786682d7e1d4 (patch) | |
tree | 482ce3e053571f6438dfe1c4f1ab7546c76c99e5 | |
parent | ef35bd89ffe1e107616b49a276a93e208344f93d (diff) |
* elf/ldconfig.c (search_dir): Skip prelink temporaries.cvs/fedora-glibc-2_3_90-23
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | elf/ldconfig.c | 13 |
2 files changed, 16 insertions, 1 deletions
@@ -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 diff --git a/elf/ldconfig.c b/elf/ldconfig.c index e5a931913f..beece51ad8 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -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; |