]> git.ipfire.org Git - thirdparty/glibc.git/commit
elf: Call __libc_early_init for reused namespaces (bug 29528)
authorFlorian Weimer <fweimer@redhat.com>
Fri, 26 Aug 2022 19:15:43 +0000 (21:15 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 30 Aug 2022 14:53:14 +0000 (16:53 +0200)
commitda7afc97ad9ddc817686d61f046277166ef42644
tree651343f949fc59f6782fc1c389fb1f10e1d0cd06
parent0631ff369dd3986f7e66dfac03f1233d8cd74045
elf: Call __libc_early_init for reused namespaces (bug 29528)

libc_map is never reset to NULL, neither during dlclose nor on a
dlopen call which reuses the namespace structure.  As a result, if a
namespace is reused, its libc is not initialized properly.  The most
visible result is a crash in the <ctype.h> functions.

To prevent similar bugs on namespace reuse from surfacing,
unconditionally initialize the chosen namespace to zero using memset.

(cherry picked from commit d0e357ff45a75553dee3b17ed7d303bfa544f6fe)
NEWS
elf/Makefile
elf/dl-open.c
elf/tst-dlmopen-twice-mod1.c [new file with mode: 0644]
elf/tst-dlmopen-twice-mod2.c [new file with mode: 0644]
elf/tst-dlmopen-twice.c [new file with mode: 0644]