From: Rich Felker Date: Thu, 24 Jan 2013 01:21:36 +0000 (-0500) Subject: fix regression in dlsym: rejection of special RTLD_* handles as invalid X-Git-Tag: v0.9.9~6 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=637dd2d383cc1f63bf02a732f03786857b22c7bd;p=oweals%2Fmusl.git fix regression in dlsym: rejection of special RTLD_* handles as invalid --- diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 6956f414..e73806cd 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -1119,7 +1119,8 @@ static void *do_dlsym(struct dso *p, const char *s, void *ra) return __tls_get_addr((size_t []){def.dso->tls_id, def.sym->st_value}); return def.dso->base + def.sym->st_value; } - if (invalid_dso_handle(p)) return 0; + if (p != RTLD_DEFAULT && p != RTLD_NEXT && invalid_dso_handle(p)) + return 0; if (p->ghashtab) { gh = gnu_hash(s); sym = gnu_lookup(s, gh, p);