From: Wilco Dijkstra Date: Tue, 27 May 2025 13:32:45 +0000 (+0000) Subject: malloc: Fix malloc init order X-Git-Tag: glibc-2.42~204 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=919bf1489abe634aefbcf3532617e7c5987c56ab;p=thirdparty%2Fglibc.git malloc: Fix malloc init order __ptmalloc_init was called too early in __libc_early_init: it uses __libc_initial which is not set yet. Fix this by moving initialization to the end of __libc_early_init. Reviewed-by: Florian Weimer --- diff --git a/elf/libc_early_init.c b/elf/libc_early_init.c index 24b99d82fe..4da170a7ca 100644 --- a/elf/libc_early_init.c +++ b/elf/libc_early_init.c @@ -33,9 +33,6 @@ _Bool __libc_initial; void __libc_early_init (_Bool initial) { - /* Initialize system malloc. */ - call_function_static_weak (__ptmalloc_init); - /* Initialize ctype data. */ __ctype_init (); @@ -53,4 +50,7 @@ __libc_early_init (_Bool initial) #if ENABLE_ELISION_SUPPORT __lll_elision_init (); #endif + + /* Initialize system malloc (needs __libc_initial to be set). */ + call_function_static_weak (__ptmalloc_init); }