Zbigniew Jędrzejewski-Szmek 5d6eed
From f2f5c4de715e65db93d57d7bcafe9caef3f7a79e Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 03e93e
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Zbigniew Jędrzejewski-Szmek 03e93e
Date: Tue, 24 Jan 2017 22:24:07 -0500
Zbigniew Jędrzejewski-Szmek 03e93e
Subject: [PATCH] core/execute: fix strv memleak
Zbigniew Jędrzejewski-Szmek 03e93e
Zbigniew Jędrzejewski-Szmek 03e93e
compile_read_write_paths() returns a normal strv from strv_copy(), and
Zbigniew Jędrzejewski-Szmek 03e93e
setup_namespace() uses it read-only, so we should use strv_free to deallocate.
Zbigniew Jędrzejewski-Szmek 03e93e
Zbigniew Jędrzejewski-Szmek 03e93e
(cherry picked from commit 06ec51d8ef30dce3c7f864633ba3a9888d18fed6)
Zbigniew Jędrzejewski-Szmek 03e93e
---
Zbigniew Jędrzejewski-Szmek 03e93e
 src/core/execute.c | 6 +++---
Zbigniew Jędrzejewski-Szmek 03e93e
 1 file changed, 3 insertions(+), 3 deletions(-)
Zbigniew Jędrzejewski-Szmek 03e93e
Zbigniew Jędrzejewski-Szmek 03e93e
diff --git a/src/core/execute.c b/src/core/execute.c
Zbigniew Jędrzejewski-Szmek 03e93e
index f13ca30395..38cd486d82 100644
Zbigniew Jędrzejewski-Szmek 03e93e
--- a/src/core/execute.c
Zbigniew Jędrzejewski-Szmek 03e93e
+++ b/src/core/execute.c
Zbigniew Jędrzejewski-Szmek 03e93e
@@ -1984,8 +1984,8 @@ static int compile_read_write_paths(
Zbigniew Jędrzejewski-Szmek 03e93e
         _cleanup_strv_free_ char **l = NULL;
Zbigniew Jędrzejewski-Szmek 03e93e
         char **rt;
Zbigniew Jędrzejewski-Szmek 03e93e
 
Zbigniew Jędrzejewski-Szmek 03e93e
-        /* Compile the list of writable paths. This is the combination of the explicitly configured paths, plus all
Zbigniew Jędrzejewski-Szmek 03e93e
-         * runtime directories. */
Zbigniew Jędrzejewski-Szmek 03e93e
+        /* Compile the list of writable paths. This is the combination of
Zbigniew Jędrzejewski-Szmek 03e93e
+         * the explicitly configured paths, plus all runtime directories. */
Zbigniew Jędrzejewski-Szmek 03e93e
 
Zbigniew Jędrzejewski-Szmek 03e93e
         if (strv_isempty(context->read_write_paths) &&
Zbigniew Jędrzejewski-Szmek 03e93e
             strv_isempty(context->runtime_directory)) {
Zbigniew Jędrzejewski-Szmek 03e93e
@@ -2018,7 +2018,7 @@ static int apply_mount_namespace(Unit *u, const ExecContext *context,
Zbigniew Jędrzejewski-Szmek 03e93e
                                  const ExecParameters *params,
Zbigniew Jędrzejewski-Szmek 03e93e
                                  ExecRuntime *runtime) {
Zbigniew Jędrzejewski-Szmek 03e93e
         int r;
Zbigniew Jędrzejewski-Szmek 03e93e
-        _cleanup_free_ char **rw = NULL;
Zbigniew Jędrzejewski-Szmek 03e93e
+        _cleanup_strv_free_ char **rw = NULL;
Zbigniew Jędrzejewski-Szmek 03e93e
         char *tmp = NULL, *var = NULL;
Zbigniew Jędrzejewski-Szmek 03e93e
         const char *root_dir = NULL;
Zbigniew Jędrzejewski-Szmek 03e93e
         NameSpaceInfo ns_info = {