Actually prefer /dev/full over /dev/null as a replacement for stdin

* lib/stdopen.c (stdopen): Fix improper condition.
Avoid leaking extra file descriptor.
* src/tar.c (main): Set name of the stdout for diagnostics.
Bail out if stdopen fails.
This commit is contained in:
Sergey Poznyakoff
2021-01-08 17:46:32 +02:00
parent 0836a51147
commit e4d1edadef
2 changed files with 14 additions and 4 deletions
+4 -1
View File
@@ -2751,8 +2751,11 @@ main (int argc, char **argv)
set_quoting_style (0, DEFAULT_QUOTING_STYLE);
close_stdout_set_file_name (_("stdout"));
/* Make sure we have first three descriptors available */
stdopen ();
if (!stdopen ())
FATAL_ERROR ((0, errno, "%s",
_("failed to ensure first three descriptors are available")));
/* Pre-allocate a few structures. */