From: Daniel Mack Date: Thu, 30 Jul 2015 13:51:50 +0000 (+0200) Subject: unit-name: fix memory leak X-Git-Tag: v224~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8e542fcdc41db44895bbb7124909eea5fe2dea4d;p=thirdparty%2Fsystemd.git unit-name: fix memory leak Fix a memory leak introduced by 2fc09a9c. 's' is used twice in this function, and if free_and_strdup() fails, the pointer is left untouched. --- diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c index 4b84542d0c4..fa530da456b 100644 --- a/src/basic/unit-name.c +++ b/src/basic/unit-name.c @@ -695,8 +695,10 @@ int slice_build_parent_slice(const char *slice, char **ret) { strcpy(dash, ".slice"); else { r = free_and_strdup(&s, "-.slice"); - if (r < 0) + if (r < 0) { + free(s); return r; + } } *ret = s;