]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
namespace: fix minor memory leak
authorLennart Poettering <lennart@poettering.net>
Fri, 14 Aug 2020 09:07:18 +0000 (11:07 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 14 Aug 2020 13:33:04 +0000 (15:33 +0200)
src/core/namespace.c

index f2288df79b42c785e56577e9a39c306c81a9330b..858ccc4118e7351c763624f8f312564b1684157b 100644 (file)
@@ -1967,11 +1967,11 @@ static int make_tmp_prefix(const char *prefix) {
 static int make_tmp_subdir(const char *parent, char **ret) {
         _cleanup_free_ char *y = NULL;
 
-        RUN_WITH_UMASK(0000) {
-                y = strjoin(parent, "/tmp");
-                if (!y)
-                        return -ENOMEM;
+        y = path_join(parent, "/tmp");
+        if (!y)
+                return -ENOMEM;
 
+        RUN_WITH_UMASK(0000) {
                 if (mkdir(y, 0777 | S_ISVTX) < 0)
                         return -errno;
         }
@@ -2027,9 +2027,9 @@ static int setup_one_tmp_dir(const char *id, const char *prefix, char **path, ch
                 if (r < 0)
                         return r;
 
-                x = strdup(RUN_SYSTEMD_EMPTY);
-                if (!x)
-                        return -ENOMEM;
+                r = free_and_strdup(&x, RUN_SYSTEMD_EMPTY);
+                if (r < 0)
+                        return r;
         }
 
         *path = TAKE_PTR(x);