From: Pádraig Brady Date: Mon, 15 Mar 2021 13:08:26 +0000 (+0000) Subject: cksum: don't exit immediately if a single file overflows X-Git-Tag: v9.0~145 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86c8dc2e85c0941ec7908cd5a3db7803e7293606;p=thirdparty%2Fcoreutils.git cksum: don't exit immediately if a single file overflows This behavior was introduced in commit FILEUTILS-4_0_44-4-g519b707b4. * src/cksum.c (cksum_slice8): Only report the overflow, and continue. * src/cksum_pclmul.c (cksum_pclmul): Likewise. --- diff --git a/src/cksum.c b/src/cksum.c index f3d41666bd..8b8b9b1902 100644 --- a/src/cksum.c +++ b/src/cksum.c @@ -226,7 +226,10 @@ cksum_slice8 (FILE *fp, const char *file, uint_fast32_t *crc_out, uint32_t second = 0; if (length + bytes_read < length) - die (EXIT_FAILURE, 0, _("%s: file too long"), quotef (file)); + { + error (0, EOVERFLOW, _("%s: file too long"), quotef (file)); + return false; + } length += bytes_read; /* Process multiples of 8 bytes */ diff --git a/src/cksum_pclmul.c b/src/cksum_pclmul.c index 9a1b760fe6..e18f17ae77 100644 --- a/src/cksum_pclmul.c +++ b/src/cksum_pclmul.c @@ -21,7 +21,7 @@ #include #include #include "system.h" -#include "die.h" +#include "error.h" /* Number of bytes to read at once. */ #define BUFLEN (1 << 16) @@ -74,7 +74,10 @@ cksum_pclmul (FILE *fp, const char *file, uint_fast32_t *crc_out, __m128i xor_crc; if (length + bytes_read < length) - die (EXIT_FAILURE, 0, _("%s: file too long"), quotef (file)); + { + error (0, EOVERFLOW, _("%s: file too long"), quotef (file)); + return false; + } length += bytes_read; datap = (__m128i *)buf;