From: David Tardon Date: Fri, 21 Apr 2023 14:07:31 +0000 (+0200) Subject: specifier: use _cleanup_ X-Git-Tag: v254-rc1~603^2~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1cc3a1302fa3e27fae59ec63384e2f684a635dae;p=thirdparty%2Fsystemd.git specifier: use _cleanup_ --- diff --git a/src/shared/specifier.c b/src/shared/specifier.c index a4a4017f061..31390fbd89d 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; }