From 7bc513cf188fe50e21ad88439f294100ffa20f72 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Fri, 7 Aug 2009 10:39:55 -0700 Subject: [PATCH] Fix expanding STB_GNU_UNIQUE hash table. An invalid symbol name pointer was entered into the hash table while enlarging it. --- ChangeLog | 5 +++++ elf/dl-lookup.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index debf530..b0187e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-08-07 Andreas Schwab + + * elf/dl-lookup.c (do_lookup_x): Enter correct name into table of + unique symbols. + 2009-08-05 H.J. Lu * 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; -- 2.7.4