From 1e4204d522670a1d8b8ab85f1cfefa960547e8af Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 9 Dec 2020 17:11:05 -0500 Subject: use libc-internal malloc for newlocale/freelocale this is necessary for MT-fork correctness now that the code runs under locale lock. it would not be hard to avoid, but __get_locale is already using libc-internal malloc anyway. this can be reconsidered during locale overhaul later if needed. --- src/locale/freelocale.c | 5 +++++ src/locale/newlocale.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/locale/freelocale.c b/src/locale/freelocale.c index 802b8bfe..385d1206 100644 --- a/src/locale/freelocale.c +++ b/src/locale/freelocale.c @@ -1,6 +1,11 @@ #include #include "locale_impl.h" +#define malloc undef +#define calloc undef +#define realloc undef +#define free __libc_free + void freelocale(locale_t l) { if (__loc_is_allocated(l)) free(l); diff --git a/src/locale/newlocale.c b/src/locale/newlocale.c index 12ae87d6..9ac3cd38 100644 --- a/src/locale/newlocale.c +++ b/src/locale/newlocale.c @@ -4,6 +4,11 @@ #include "locale_impl.h" #include "lock.h" +#define malloc __libc_malloc +#define calloc undef +#define realloc undef +#define free undef + static int default_locale_init_done; static struct __locale_struct default_locale, default_ctype_locale; -- cgit v1.2.1