From: Pádraig Brady Date: Sat, 22 Apr 2023 20:41:53 +0000 (+0100) Subject: tsort: diagnose errors reading the input X-Git-Tag: v9.4~157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e62ba282ef44567a73f93d77583a838447d7550;p=thirdparty%2Fcoreutils.git tsort: diagnose errors reading the input * src/tsort.c (tsort): Check for errors after readtoken(). * NEWS: Mention the bug fix. --- diff --git a/NEWS b/NEWS index a8db32246b..2c68b1735f 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,9 @@ GNU coreutils NEWS -*- outline -*- Previously such file names would have caused the strip process to fail. [This bug was present in "the beginning".] + tsort now diagnoses read errors on the input. + [This bug was present in "the beginning".] + * Noteworthy changes in release 9.3 (2023-04-18) [stable] diff --git a/src/tsort.c b/src/tsort.c index 0032cb5d0b..2775fb39eb 100644 --- a/src/tsort.c +++ b/src/tsort.c @@ -453,7 +453,11 @@ tsort (char const *file) /* T2. Next Relation. */ size_t len = readtoken (stdin, DELIM, sizeof (DELIM) - 1, &tokenbuffer); if (len == (size_t) -1) - break; + { + if (ferror (stdin)) + die (EXIT_FAILURE, errno, _("%s: read error"), quotef (file)); + break; + } assert (len != 0);