]> 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>
Fri, 26 Aug 2022 19:15:43 +0000 (21:15 +0200)
commitd0e357ff45a75553dee3b17ed7d303bfa544f6fe
tree1b3480f556a5a7d109c3cc5775ed951420156f00
parent06d4381dd81eaab16b538017adc5854033f44b6d
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.
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]