diff options
author | Andreas Schwab <schwab@redhat.com> | 2009-08-07 10:39:55 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-08-07 10:39:55 -0700 |
commit | 7bc513cf188fe50e21ad88439f294100ffa20f72 (patch) | |
tree | 11ce3167a0d66ce0dc986f0c2fb09431f4f75c57 | |
parent | 3aa2588d4a533686d677eb3f6c00c202849df72b (diff) | |
download | glibc-7bc513cf188fe50e21ad88439f294100ffa20f72.zip glibc-7bc513cf188fe50e21ad88439f294100ffa20f72.tar.gz glibc-7bc513cf188fe50e21ad88439f294100ffa20f72.tar.bz2 |
Fix expanding STB_GNU_UNIQUE hash table.
An invalid symbol name pointer was entered into the hash table while
enlarging it.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | elf/dl-lookup.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2009-08-07 Andreas Schwab <schwab@redhat.com> + + * elf/dl-lookup.c (do_lookup_x): Enter correct name into table of + unique symbols. + 2009-08-05 H.J. Lu <hongjiu.lu@intel.com> * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Properly use diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index 56724c9..c1a1366 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -321,7 +321,7 @@ do_lookup_x (const char *undef_name, uint_fast32_t new_hash, if (table[idx].name == NULL) { table[idx].hashval = hash; - table[idx].name = strtab + sym->st_name; + table[idx].name = name; if ((type_class & ELF_RTYPE_CLASS_COPY) != 0) { table[idx].sym = ref; |