diff options
author | bdrewery <bdrewery@FreeBSD.org> | 2016-07-22 17:24:36 +0000 |
---|---|---|
committer | bdrewery <bdrewery@FreeBSD.org> | 2016-07-22 17:24:36 +0000 |
commit | f2acc91a2a10293e24f37092986ca685dcfa04e4 (patch) | |
tree | 460c7ec635f7aac14168c7d5084e71599ce540d8 /libexec | |
parent | 4968d3608122f2d60a4c705f95c891c253ab7268 (diff) | |
download | FreeBSD-src-f2acc91a2a10293e24f37092986ca685dcfa04e4.zip FreeBSD-src-f2acc91a2a10293e24f37092986ca685dcfa04e4.tar.gz |
MFC r302908:
Fix dlsym(RTLD_NEXT) handling to only return the next library in last library
cases.
Approved by: re (gjb)
Diffstat (limited to 'libexec')
-rw-r--r-- | libexec/rtld-elf/rtld.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 1869194..ca722cf 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -3291,7 +3291,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); |