implement fail-safe static locales for newlocale
[oweals/musl.git] / src / locale / freelocale.c
index 4e089f223b9c95f1013cb762eed6299a0574128f..c2ae1a318069376823527d79f4b19a9e8974823e 100644 (file)
@@ -1,7 +1,12 @@
 #include <stdlib.h>
 #include "locale_impl.h"
+#include "libc.h"
+
+int __loc_is_allocated(locale_t);
 
 void freelocale(locale_t l)
 {
-       free(l);
+       if (__loc_is_allocated(l)) free(l);
 }
+
+weak_alias(freelocale, __freelocale);