From aa85e18dbf263a52605d3bff15b853d2160ebd67 Mon Sep 17 00:00:00 2001 From: Demi Marie Obenour Date: Tue, 25 Oct 2022 15:04:00 -0400 Subject: [PATCH] scanner: fail if there is an I/O error If there has been an I/O error returning 0 is a bad idea. Signed-off-by: Demi Marie Obenour --- src/scanner.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/scanner.c b/src/scanner.c index 3cd05d13..691448cb 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -2037,6 +2037,7 @@ int main(int argc, char *argv[]) bool strict = false; bool fail = false; int opt; + int io_err; enum { CLIENT_HEADER, SERVER_HEADER, @@ -2205,7 +2206,10 @@ int main(int argc, char *argv[]) } free_protocol(&protocol); - fclose(input); + io_err = fflush(NULL) || ferror(stdout) || ferror(input); + if (io_err) + fprintf(stderr, "I/O error during processing\n"); - return 0; + fclose(input); + return io_err; }