From 2b5e4a752edf4ab7fac19b24d5512d9861adf25f Mon Sep 17 00:00:00 2001 From: Andrew Ayer Date: Fri, 28 Mar 2014 13:54:18 -0700 Subject: [PATCH] Plug a file descriptor leak if fork() fails (Not that we really care if that happens ;-) but it's good to be correct.) --- util.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util.cpp b/util.cpp index d865be4..2afd685 100644 --- a/util.cpp +++ b/util.cpp @@ -112,7 +112,10 @@ int exec_command (const char* command, std::ostream& output) } pid_t child = fork(); if (child == -1) { - throw System_error("fork", "", errno); + int fork_errno = errno; + close(pipefd[0]); + close(pipefd[1]); + throw System_error("fork", "", fork_errno); } if (child == 0) { close(pipefd[0]);