diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c index 3fce1a55f6..bcbf941229 100644 --- a/src/basic/locale-util.c +++ b/src/basic/locale-util.c @@ -203,6 +203,15 @@ int get_locales(char ***ret) { if (r < 0) return r; + char *locale; + SET_FOREACH(locale, locales) { + r = locale_is_installed(locale); + if (r < 0) + return r; + if (r == 0) + free(set_remove(locales, locale)); + } + l = set_get_strv(locales); if (!l) return -ENOMEM;