diff options
author | Rich Felker <dalias@aerifal.cx> | 2020-12-09 17:11:05 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2020-12-09 17:11:05 -0500 |
commit | 1e4204d522670a1d8b8ab85f1cfefa960547e8af (patch) | |
tree | 807a8e86728f9b18e6f18d9ed0b75fe22e8a020c | |
parent | 36246b347cd135399bc79f9b6617d9a120c00a0d (diff) | |
download | musl-1e4204d522670a1d8b8ab85f1cfefa960547e8af.tar.gz musl-1e4204d522670a1d8b8ab85f1cfefa960547e8af.tar.bz2 musl-1e4204d522670a1d8b8ab85f1cfefa960547e8af.tar.xz musl-1e4204d522670a1d8b8ab85f1cfefa960547e8af.zip |
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.
-rw-r--r-- | src/locale/freelocale.c | 5 | ||||
-rw-r--r-- | src/locale/newlocale.c | 5 |
2 files changed, 10 insertions, 0 deletions
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 <stdlib.h> #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; |