Fix expanding STB_GNU_UNIQUE hash table.
authorAndreas Schwab <schwab@redhat.com>
Fri, 7 Aug 2009 17:39:55 +0000 (10:39 -0700)
committerUlrich Drepper <drepper@redhat.com>
Fri, 7 Aug 2009 17:39:55 +0000 (10:39 -0700)
An invalid symbol name pointer was entered into the hash table while
enlarging it.

ChangeLog
elf/dl-lookup.c

index debf530..b0187e0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index 56724c9..c1a1366 100644 (file)
@@ -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;