From 01111587b668d772d16c8c17f0c750d84af1dcb1 Mon Sep 17 00:00:00 2001 From: David Tardon Date: Thu, 10 May 2018 14:10:53 +0200 Subject: [PATCH] basic: use automatic cleanup more --- src/basic/strv.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/basic/strv.c b/src/basic/strv.c index cb91f239e8..47ab0ad07f 100644 --- a/src/basic/strv.c +++ b/src/basic/strv.c @@ -121,7 +121,7 @@ size_t strv_length(char * const *l) { char **strv_new_ap(const char *x, va_list ap) { const char *s; - char **a; + _cleanup_strv_free_ char **a = NULL; size_t n = 0, i = 0; va_list aq; @@ -152,7 +152,7 @@ char **strv_new_ap(const char *x, va_list ap) { if (x != STRV_IGNORE) { a[i] = strdup(x); if (!a[i]) - goto fail; + return NULL; i++; } @@ -163,7 +163,7 @@ char **strv_new_ap(const char *x, va_list ap) { a[i] = strdup(s); if (!a[i]) - goto fail; + return NULL; i++; } @@ -171,11 +171,7 @@ char **strv_new_ap(const char *x, va_list ap) { a[i] = NULL; - return a; - -fail: - strv_free(a); - return NULL; + return TAKE_PTR(a); } char **strv_new(const char *x, ...) {