]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: properly cleanup ExecParameter's prefix array 29628/head
authorFrantisek Sumsal <frantisek@sumsal.cz>
Thu, 19 Oct 2023 14:47:46 +0000 (16:47 +0200)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Thu, 19 Oct 2023 14:59:43 +0000 (16:59 +0200)
src/core/execute.c

index 46fb8805b3aa856d3a33aca0f15352841f9d88c4..3f3d92d50506ce129319308ff1ee1549755ca815 100644 (file)
@@ -2255,7 +2255,13 @@ void exec_params_serialized_done(ExecParameters *p) {
 
         p->cgroup_path = mfree(p->cgroup_path);
 
-        p->prefix = strv_free(p->prefix);
+        if (p->prefix) {
+                for (ExecDirectoryType t = 0; t < _EXEC_DIRECTORY_TYPE_MAX; t++)
+                        free(p->prefix[t]);
+
+                p->prefix = mfree(p->prefix);
+        }
+
         p->received_credentials_directory = mfree(p->received_credentials_directory);
         p->received_encrypted_credentials_directory = mfree(p->received_encrypted_credentials_directory);