]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
specifier: use _cleanup_
authorDavid Tardon <dtardon@redhat.com>
Fri, 21 Apr 2023 14:07:31 +0000 (16:07 +0200)
committerDavid Tardon <dtardon@redhat.com>
Thu, 27 Apr 2023 19:42:38 +0000 (21:42 +0200)
src/shared/specifier.c

index a4a4017f061939980f856b1e77c3ed8f5551ac93..31390fbd89d51581a88b6480450409380ae31933 100644 (file)
@@ -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;
 }