]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
execute: use close_many_and_free() more
authorLennart Poettering <lennart@poettering.net>
Wed, 18 Oct 2023 10:12:30 +0000 (12:12 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 18 Oct 2023 11:52:17 +0000 (13:52 +0200)
src/core/execute.c

index d9c8a19c380700c9f758ea898257009a1bba4bef..ce947a7a52f96f4c67c72115512d7b3e1570af1e 100644 (file)
@@ -2260,9 +2260,10 @@ void exec_params_serialized_done(ExecParameters *p) {
         p->received_credentials_directory = mfree(p->received_credentials_directory);
         p->received_encrypted_credentials_directory = mfree(p->received_encrypted_credentials_directory);
 
-        for (size_t i = 0; p->idle_pipe && i < 4; i++)
-                p->idle_pipe[i] = safe_close(p->idle_pipe[i]);
-        p->idle_pipe = mfree(p->idle_pipe);
+        if (p->idle_pipe) {
+                close_many_and_free(p->idle_pipe, 4);
+                p->idle_pipe = NULL;
+        }
 
         p->stdin_fd = safe_close(p->stdin_fd);
         p->stdout_fd = safe_close(p->stdout_fd);