Browse Source

Make sure that the DSO has an hash table into its elf, otherwise skip
the lookup over next DSO.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>

Mike Frysinger 18 years ago
parent
commit
eb0847057d
1 changed files with 4 additions and 0 deletions
  1. 4 0
      ldso/ldso/dl-hash.c

+ 4 - 0
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];