summaryrefslogtreecommitdiffstats
path: root/libexec
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2016-07-22 00:43:32 +0000
committerbdrewery <bdrewery@FreeBSD.org>2016-07-22 00:43:32 +0000
commit5aa045f55578c73f64456b65bede7858f8c3949b (patch)
tree3ec80ff4e2950f3ff0b617adef92a6986d072310 /libexec
parent0c2ec19b32588d93ff53f3431098e0a8bc85fda0 (diff)
downloadFreeBSD-src-5aa045f55578c73f64456b65bede7858f8c3949b.zip
FreeBSD-src-5aa045f55578c73f64456b65bede7858f8c3949b.tar.gz
MFC r302908:
Fix dlsym(RTLD_NEXT) handling to only return the next library in last library cases.
Diffstat (limited to 'libexec')
-rw-r--r--libexec/rtld-elf/rtld.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index b97a4e6..8d0938b 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -3181,7 +3181,7 @@ do_dlsym(void *handle, const char *name, void *retaddr, const Ver_Entry *ve,
handle == RTLD_SELF) { /* ... caller included */
if (handle == RTLD_NEXT)
obj = globallist_next(obj);
- TAILQ_FOREACH_FROM(obj, &obj_list, next) {
+ for (; obj != NULL; obj = TAILQ_NEXT(obj, next)) {
if (obj->marker)
continue;
res = symlook_obj(&req, obj);
OpenPOWER on IntegriCloud