* src/factor.c (do_stdin): Exit with failure upon read errors.
* NEWS: Mention the bug fix.
---
 NEWS         | 2 +-
 src/factor.c | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index ec4920edc..0590dd13a 100644
--- a/NEWS
+++ b/NEWS
@@ -11,7 +11,7 @@ GNU coreutils NEWS                                    -*- 
outline -*-
   Previously such file names would have caused the strip process to fail.
   [This bug was present in "the beginning".]
 
-  tsort and numfmt now diagnose read errors on the input.
+  factor, numfmt, and tsort now diagnose read errors on the input.
   [This bug was present in "the beginning".]
 
 
diff --git a/src/factor.c b/src/factor.c
index 20508e355..d37058bbe 100644
--- a/src/factor.c
+++ b/src/factor.c
@@ -2588,7 +2588,12 @@ do_stdin (void)
       size_t token_length = readtoken (stdin, DELIM, sizeof (DELIM) - 1,
                                        &tokenbuffer);
       if (token_length == (size_t) -1)
-        break;
+        {
+          if (ferror (stdin))
+            die (EXIT_FAILURE, errno, _("error reading input"));
+          break;
+        }
+
       ok &= print_factors (tokenbuffer.buffer);
     }
   free (tokenbuffer.buffer);
-- 
2.26.2


Reply via email to