diff options
author | David Tardon <dtardon@redhat.com> | 2023-04-21 16:07:31 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2023-04-27 21:42:38 +0200 |
commit | 1cc3a1302fa3e27fae59ec63384e2f684a635dae (patch) | |
tree | b02988892a3472b3be3272f3809f26e4d906873c /src/shared | |
parent | 3cbbefc2a78f7ba281a1d45984bbbb47e015a16a (diff) | |
download | systemd-1cc3a1302fa3e27fae59ec63384e2f684a635dae.tar.gz |
specifier: use _cleanup_
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/specifier.c | 9 |
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; } |