aboutsummaryrefslogtreecommitdiff
path: root/elf/dl-reloc.c
diff options
context:
space:
mode:
authorFlorian Weimer <fw@deneb.enyo.de>2019-10-28 19:49:46 +0100
committerFlorian Weimer <fweimer@redhat.com>2019-10-29 18:11:36 +0100
commit8c59ed1f7454cba46c29ceba07322a75f9eb78ad (patch)
treeb2a6f0b4f55a39907c1e1bd8b1d2bb5658bd7b87 /elf/dl-reloc.c
parent93e07b2f9ef6825c7165f4587d2204464c83959a (diff)
downloadglibc-fw/bug25112.zip
glibc-fw/bug25112.tar.gz
glibc-fw/bug25112.tar.bz2
Remove all loaded objects if dlopen fails [BZ #20839]fw/bug25112
Diffstat (limited to 'elf/dl-reloc.c')
-rw-r--r--elf/dl-reloc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index 725a074..edb9d74 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -244,7 +244,8 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[],
v = (version); \
_lr = _dl_lookup_symbol_x (strtab + (*ref)->st_name, l, (ref), \
scope, v, _tc, \
- DL_LOOKUP_ADD_DEPENDENCY, NULL); \
+ DL_LOOKUP_ADD_DEPENDENCY \
+ | DL_LOOKUP_INSIDE_DLOPEN, NULL); \
l->l_lookup_cache.ret = (*ref); \
l->l_lookup_cache.value = _lr; })) \
: l)