diff --git a/lib/libc/locale/lmonetary.c b/lib/libc/locale/lmonetary.c index e42c6c5f50a5..8e98749e4398 100644 --- a/lib/libc/locale/lmonetary.c +++ b/lib/libc/locale/lmonetary.c @@ -68,7 +68,7 @@ __monetary_load_locale(const char *name) { ret = __part_load_locale(name, &_monetary_using_locale, monetary_locale_buf, "LC_MONETARY", LCMONETARY_SIZE, (const char **)&_monetary_locale); - if (!ret) + if (!ret && _monetary_using_locale) _monetary_locale.mon_grouping = __fix_locale_grouping_str(_monetary_locale.mon_grouping); return ret; diff --git a/lib/libc/locale/lnumeric.c b/lib/libc/locale/lnumeric.c index 875406978f92..3fea4db96cae 100644 --- a/lib/libc/locale/lnumeric.c +++ b/lib/libc/locale/lnumeric.c @@ -56,7 +56,7 @@ __numeric_load_locale(const char *name) { ret = __part_load_locale(name, &_numeric_using_locale, numeric_locale_buf, "LC_NUMERIC", LCNUMERIC_SIZE, (const char **)&_numeric_locale); - if (!ret) + if (!ret && _numeric_using_locale) _numeric_locale.grouping = __fix_locale_grouping_str(_numeric_locale.grouping); return ret;