summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2023-04-21 16:07:31 +0200
committerDavid Tardon <dtardon@redhat.com>2023-04-27 21:42:38 +0200
commit1cc3a1302fa3e27fae59ec63384e2f684a635dae (patch)
treeb02988892a3472b3be3272f3809f26e4d906873c /src/shared
parent3cbbefc2a78f7ba281a1d45984bbbb47e015a16a (diff)
downloadsystemd-1cc3a1302fa3e27fae59ec63384e2f684a635dae.tar.gz
specifier: use _cleanup_
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/specifier.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/shared/specifier.c b/src/shared/specifier.c
index a4a4017f06..31390fbd89 100644
--- a/src/shared/specifier.c
+++ b/src/shared/specifier.c
@@ -464,7 +464,8 @@ int specifier_var_tmp_dir(char specifier, const void *data, const char *root, co
}
int specifier_escape_strv(char **l, char ***ret) {
- char **z, **p, **q;
+ _cleanup_strv_free_ char **z = NULL;
+ char **p, **q;
assert(ret);
@@ -480,14 +481,12 @@ int specifier_escape_strv(char **l, char ***ret) {
for (p = l, q = z; *p; p++, q++) {
*q = specifier_escape(*p);
- if (!*q) {
- strv_free(z);
+ if (!*q)
return -ENOMEM;
- }
}
*q = NULL;
- *ret = z;
+ *ret = TAKE_PTR(z);
return 0;
}