From 86c8dc2e85c0941ec7908cd5a3db7803e7293606 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?= Date: Mon, 15 Mar 2021 13:08:26 +0000 Subject: [PATCH] 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. --- src/cksum.c | 5 ++++- src/cksum_pclmul.c | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) 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; -- 2.47.2