diff --git a/src/core/execute.c b/src/core/execute.c index d9c8a19c380..ce947a7a52f 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -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);