summaryrefslogtreecommitdiff
path: root/src/basic/env-util.c
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2018-05-10 14:08:35 +0200
committerSven Eden <yamakuzure@gmx.net>2018-08-24 16:47:08 +0200
commit61870307cb918dc3f443611d113e2db2f108f869 (patch)
treecb20c41fb7332dfe00b11bd883e8a741e67d51bc /src/basic/env-util.c
parent59336c25be1eee27d2ba58f95d6e6d516f64cdeb (diff)
basic: use automatic cleanup more
Diffstat (limited to 'src/basic/env-util.c')
-rw-r--r--src/basic/env-util.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/basic/env-util.c b/src/basic/env-util.c
index 243a76534..90d2f06a8 100644
--- a/src/basic/env-util.c
+++ b/src/basic/env-util.c
@@ -418,7 +418,8 @@ int strv_env_replace(char ***l, char *p) {
char **strv_env_set(char **x, const char *p) {
- char **k, **r;
+ char **k;
+ _cleanup_strv_free_ char **r = NULL;
char* m[2] = { (char*) p, NULL };
/* Overrides the env var setting of p, returns a new copy */
@@ -429,18 +430,14 @@ char **strv_env_set(char **x, const char *p) {
k = r;
if (env_append(r, &k, x) < 0)
- goto fail;
+ return NULL;
if (env_append(r, &k, m) < 0)
- goto fail;
+ return NULL;
*k = NULL;
- return r;
-
-fail:
- strv_free(r);
- return NULL;
+ return TAKE_PTR(r);
}
char *strv_env_get_n(char **l, const char *name, size_t k, unsigned flags) {