From eb0847057d25cffba97cf04f60b8df54bf175dd9 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 28 Sep 2007 20:14:36 +0000 Subject: Make sure that the DSO has an hash table into its elf, otherwise skip the lookup over next DSO. Signed-off-by: Carmelo Amoroso --- ldso/ldso/dl-hash.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ldso') diff --git a/ldso/ldso/dl-hash.c b/ldso/ldso/dl-hash.c index f44d0ec89..2043c2504 100644 --- a/ldso/ldso/dl-hash.c +++ b/ldso/ldso/dl-hash.c @@ -161,6 +161,10 @@ char *_dl_find_hash(const char *name, struct dyn_elf *rpnt, struct elf_resolve * if ((type_class & ELF_RTYPE_CLASS_COPY) && tpnt->libtype == elf_executable) continue; + /* If the hash table is empty there is nothing to do here. */ + if (tpnt->nbucket == 0) + continue; + /* Avoid calling .urem here. */ do_rem(hn, elf_hash_number, tpnt->nbucket); symtab = (ElfW(Sym) *) tpnt->dynamic_info[DT_SYMTAB]; -- cgit v1.2.3