[PATCH v2 2/4] builtin/archive: close file descriptor on dup2() failure
- From
Hoyoung Lee <lhywkd22@gmail.com>
- Date
- Jul 22, 2025, 08:12 UTC
- Message-ID
- <20250722081219.1086866-3-lhywkd22@gmail.com>
- In-Reply-To
- <20250722081219.1086866-1-lhywkd22@gmail.com>
In create_output_file(), the file descriptor returned by xopen() was not closed if dup2() failed. This leads to a potential resource leak. Ensure the file descriptor is closed regardless of whether dup2() succeeds or fails.
Signed-off-by: Hoyoung Lee <lhywkd22@gmail.com> --- builtin/archive.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/builtin/archive.c b/builtin/archive.c index 13ea7308c8..c919a39f90 100644 --- a/builtin/archive.c +++ b/builtin/archive.c @@ -14,6 +14,7 @@ static void create_output_file(const char *output_file) int output_fd = xopen(output_file, O_CREAT | O_WRONLY | O_TRUNC, 0666); if (output_fd != 1) { if (dup2(output_fd, 1) < 0) + close(output_fd); die_errno(_("could not redirect output")); else close(output_fd);
-- 2.34.1