Browse Source

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.
master
Rich Felker 6 years ago
parent
commit
1e4204d522
  1. 5
      src/locale/freelocale.c
  2. 5
      src/locale/newlocale.c

5
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);

5
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;

Loading…
Cancel
Save