aboutsummaryrefslogtreecommitdiff
path: root/elf/get-dynamic-info.h
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/get-dynamic-info.h
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/get-dynamic-info.h')
-rw-r--r--elf/get-dynamic-info.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/elf/get-dynamic-info.h b/elf/get-dynamic-info.h
index af9dd57..075683d 100644
--- a/elf/get-dynamic-info.h
+++ b/elf/get-dynamic-info.h
@@ -163,6 +163,8 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
if (info[VERSYMIDX (DT_FLAGS_1)] != NULL)
{
l->l_flags_1 = info[VERSYMIDX (DT_FLAGS_1)]->d_un.d_val;
+ if (l->l_flags_1 & DF_1_NODELETE)
+ l->l_nodelete = link_map_nodelete_pending;
/* Only DT_1_SUPPORTED_MASK bits are supported, and we would like
to assert this, but we can't. Users have been setting