diff options
author | David Tardon <dtardon@redhat.com> | 2023-04-21 14:24:26 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2023-04-27 21:42:38 +0200 |
commit | 480a7919bce9d60b78532ff51fcdb82529df0af8 (patch) | |
tree | 45a9bc62d273fb832caac523075a194dbfd78a7f /src/basic | |
parent | 21453b8b4bfb4d1fa3efd1df3fe1208d48cbd41b (diff) | |
download | systemd-480a7919bce9d60b78532ff51fcdb82529df0af8.tar.gz |
env-util: use _cleanup_ in strv_env_delete()
Diffstat (limited to 'src/basic')
-rw-r--r-- | src/basic/env-util.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/basic/env-util.c b/src/basic/env-util.c index 41fad1d1b9..848b727a8f 100644 --- a/src/basic/env-util.c +++ b/src/basic/env-util.c @@ -266,7 +266,7 @@ static bool env_entry_has_name(const char *entry, const char *name) { char **strv_env_delete(char **x, size_t n_lists, ...) { size_t n, i = 0; - char **r; + _cleanup_strv_free_ char **r = NULL; va_list ap; /* Deletes every entry from x that is mentioned in the other @@ -291,10 +291,8 @@ char **strv_env_delete(char **x, size_t n_lists, ...) { va_end(ap); r[i] = strdup(*k); - if (!r[i]) { - strv_free(r); + if (!r[i]) return NULL; - } i++; continue; @@ -307,7 +305,7 @@ char **strv_env_delete(char **x, size_t n_lists, ...) { assert(i <= n); - return r; + return TAKE_PTR(r); } char **strv_env_unset(char **l, const char *p) { |