summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2023-04-21 14:24:26 +0200
committerDavid Tardon <dtardon@redhat.com>2023-04-27 21:42:38 +0200
commit480a7919bce9d60b78532ff51fcdb82529df0af8 (patch)
tree45a9bc62d273fb832caac523075a194dbfd78a7f /src/basic
parent21453b8b4bfb4d1fa3efd1df3fe1208d48cbd41b (diff)
downloadsystemd-480a7919bce9d60b78532ff51fcdb82529df0af8.tar.gz
env-util: use _cleanup_ in strv_env_delete()
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/env-util.c8
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) {