From: Paul Eggert Date: Mon, 21 Aug 2023 19:52:14 +0000 (-0700) Subject: Pacify gcc -Wanalyzer-fd-use-without-check X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=bfee1d44a3d09a25586fe364c0cde74ebf0fa638;p=thirdparty%2Ftar.git Pacify gcc -Wanalyzer-fd-use-without-check * src/system.c (sys_exec_setmtime_script): Treat fds with more care. --- diff --git a/src/system.c b/src/system.c index b7e39f7c..e8370c55 100644 --- a/src/system.c +++ b/src/system.c @@ -963,16 +963,16 @@ sys_exec_setmtime_script (const char *script_name, FATAL_ERROR ((0, errno, _("chdir failed"))); } - close (0); - close (1); + close (p[0]); + if (dup2 (p[1], STDOUT_FILENO) < 0) + FATAL_ERROR ((0, errno, _("dup2 failed"))); + if (p[1] != STDOUT_FILENO) + close (p[1]); - if (open (dev_null, O_RDONLY) == -1) + close (STDIN_FILENO); + if (open (dev_null, O_RDONLY) != STDIN_FILENO) open_error (dev_null); - if (dup2 (p[1], 1) == -1) - FATAL_ERROR ((0, errno, _("dup2 failed"))); - close (p[0]); - priv_set_restore_linkdir (); xexec (command); }