X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fconf-files.c;h=c72a099b5a1bb5b6805e2f11f651bab3ab1786e5;hp=64ce8a0e57fb70d4c90479b2d3f37528f45a3dfd;hb=e1d758033dc7e101ab32323a0f1649d8daf56a22;hpb=6ec60d20724d2a32e20d25ef75d2af178c242bc2;ds=sidebyside diff --git a/src/shared/conf-files.c b/src/shared/conf-files.c index 64ce8a0e5..c72a099b5 100644 --- a/src/shared/conf-files.c +++ b/src/shared/conf-files.c @@ -98,7 +98,7 @@ static int base_cmp(const void *a, const void *b) { } static int conf_files_list_strv_internal(char ***strv, const char *suffix, const char *root, char **dirs) { - Hashmap *fh; + _cleanup_hashmap_free_ Hashmap *fh = NULL; char **files, **p; int r; @@ -116,7 +116,6 @@ static int conf_files_list_strv_internal(char ***strv, const char *suffix, const STRV_FOREACH(p, dirs) { r = files_add(fh, root, *p, suffix); if (r == -ENOMEM) { - hashmap_free_free(fh); return r; } else if (r < 0) log_debug("Failed to search for files in %s: %s", @@ -125,14 +124,12 @@ static int conf_files_list_strv_internal(char ***strv, const char *suffix, const files = hashmap_get_strv(fh); if (files == NULL) { - hashmap_free_free(fh); return -ENOMEM; } qsort_safe(files, hashmap_size(fh), sizeof(char *), base_cmp); *strv = files; - hashmap_free(fh); return 0; }