systemd/0216-locale-util-check-if-enumerated-locales-are-valid.patch
Jan Macku 0daf48d9aa systemd-250-8
Resolves: #2047682,#2068043,#2068131,#2073003,#2073994,#2082131,#2083493,#2087652,#2100340
2022-07-20 08:37:23 +02:00

33 lines
1016 B
Diff

From c10efc8164dcdf8596315ce98f60405f8c2e17c0 Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Tue, 14 Jun 2022 09:05:00 +0900
Subject: [PATCH] locale-util: check if enumerated locales are valid
(cherry picked from commit a2f7937747f12634d93049f645cdae88f89ff233)
Related: #2087652
---
src/basic/locale-util.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c
index abbebc7666..bd36cdd1cd 100644
--- a/src/basic/locale-util.c
+++ b/src/basic/locale-util.c
@@ -199,6 +199,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;