Browse Source

fix bug in gnu hash lookup on dlsym(handle, name) lookups

wrong hash was being passed; just a copy/paste error. did not affect
lookups in the global namespace; this is probably why it was not
caught in testing.
Rich Felker 12 years ago
parent
commit
a5d6199d09
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/ldso/dynlink.c

+ 1 - 1
src/ldso/dynlink.c

@@ -877,7 +877,7 @@ static void *do_dlsym(struct dso *p, const char *s, void *ra)
 	if (p->deps) for (i=0; p->deps[i]; i++) {
 		if (p->deps[i]->ghashtab) {
 			if (!gh) gh = gnu_hash(s);
-			sym = gnu_lookup(s, h, p->deps[i]);
+			sym = gnu_lookup(s, gh, p->deps[i]);
 		} else {
 			if (!h) h = sysv_hash(s);
 			sym = sysv_lookup(s, h, p->deps[i]);