]> git.ipfire.org Git - thirdparty/tar.git/commitdiff
Pacify gcc -Wanalyzer-fd-use-without-check
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 21 Aug 2023 19:52:14 +0000 (12:52 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 21 Aug 2023 20:42:14 +0000 (13:42 -0700)
* src/system.c (sys_exec_setmtime_script):
Treat fds with more care.

src/system.c

index b7e39f7c30c1e19a731c866653c5ee8ae23e6482..e8370c55c71eeca78afb929ede2f38eff1fcc338 100644 (file)
@@ -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);
     }