From f5e1bca49d27e39a24026b903287ad47ae66c53c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 14 Dec 2005 01:39:46 +0000 Subject: [PATCH] (main): Check for close (STDOUT_FILENO) failure. --- src/cat.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cat.c b/src/cat.c index 4012d8f..307a516 100644 --- a/src/cat.c +++ b/src/cat.c @@ -555,7 +555,9 @@ main (int argc, char **argv) textdomain (PACKAGE); /* Arrange to close stdout if we exit via the - case_GETOPT_HELP_CHAR or case_GETOPT_VERSION_CHAR code. */ + case_GETOPT_HELP_CHAR or case_GETOPT_VERSION_CHAR code. + Normally STDOUT_FILENO is used rather than stdout, so + close_stdout does nothing. */ atexit (close_stdout); /* Parse command line options. */ @@ -766,5 +768,8 @@ main (int argc, char **argv) if (have_read_stdin && close (STDIN_FILENO) < 0) error (EXIT_FAILURE, errno, _("closing standard input")); + if (close (STDOUT_FILENO) != 0) + error (EXIT_FAILURE, errno, _("write error")); + exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } -- 2.7.4