mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-26 10:03:40 +03:00
locale-util: fix memleak on failure
This commit is contained in:
parent
39f4546199
commit
065058e63b
@ -160,7 +160,7 @@ static int add_locales_from_archive(Set *locales) {
|
||||
return r;
|
||||
}
|
||||
|
||||
static int add_locales_from_libdir (Set *locales) {
|
||||
static int add_locales_from_libdir(Set *locales) {
|
||||
_cleanup_closedir_ DIR *dir = NULL;
|
||||
int r;
|
||||
|
||||
@ -187,7 +187,7 @@ static int add_locales_from_libdir (Set *locales) {
|
||||
}
|
||||
|
||||
int get_locales(char ***ret) {
|
||||
_cleanup_set_free_ Set *locales = NULL;
|
||||
_cleanup_set_free_free_ Set *locales = NULL;
|
||||
_cleanup_strv_free_ char **l = NULL;
|
||||
int r;
|
||||
|
||||
@ -207,6 +207,9 @@ int get_locales(char ***ret) {
|
||||
if (!l)
|
||||
return -ENOMEM;
|
||||
|
||||
/* Now, all elements are owned by strv 'l'. Hence, do not call set_free_free(). */
|
||||
locales = set_free(locales);
|
||||
|
||||
r = getenv_bool("SYSTEMD_LIST_NON_UTF8_LOCALES");
|
||||
if (r == -ENXIO || r == 0) {
|
||||
char **a, **b;
|
||||
|
Loading…
x
Reference in New Issue
Block a user