提交 637dd2d3 编写于 作者: R Rich Felker

fix regression in dlsym: rejection of special RTLD_* handles as invalid

上级 41d7c77d
...@@ -1119,7 +1119,8 @@ static void *do_dlsym(struct dso *p, const char *s, void *ra) ...@@ -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 __tls_get_addr((size_t []){def.dso->tls_id, def.sym->st_value});
return def.dso->base + 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) { if (p->ghashtab) {
gh = gnu_hash(s); gh = gnu_hash(s);
sym = gnu_lookup(s, gh, p); sym = gnu_lookup(s, gh, p);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册