summaryrefslogtreecommitdiff
path: root/src/shared/serialize.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-02-23 15:26:49 +0100
committerLennart Poettering <lennart@poettering.net>2021-02-23 15:45:19 +0100
commit3178014709074cc65ebbb4604f6da306e34e6ffb (patch)
tree4f3696e0107023a6ba036237ab2245334e10d08a /src/shared/serialize.c
parentd9a650bbe80f88c656d1574ebca9b1c062cf4932 (diff)
downloadsystemd-3178014709074cc65ebbb4604f6da306e34e6ffb.tar.gz
shared: fix memory leak in error path
Coverity 1446676
Diffstat (limited to 'src/shared/serialize.c')
-rw-r--r--src/shared/serialize.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/shared/serialize.c b/src/shared/serialize.c
index 42fe5db3fa..23aac3ef52 100644
--- a/src/shared/serialize.c
+++ b/src/shared/serialize.c
@@ -175,7 +175,7 @@ int deserialize_dual_timestamp(const char *value, dual_timestamp *t) {
}
int deserialize_environment(const char *value, char ***list) {
- char *unescaped;
+ _cleanup_free_ char *unescaped = NULL;
int r;
assert(value);
@@ -187,9 +187,10 @@ int deserialize_environment(const char *value, char ***list) {
if (r < 0)
return log_error_errno(r, "Failed to unescape: %m");
- r = strv_env_replace_consume(list, unescaped);
+ r = strv_env_replace_consume(list, TAKE_PTR(unescaped));
if (r < 0)
return log_error_errno(r, "Failed to append environment variable: %m");
+
return 0;
}