1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-02-20 22:32:17 +02:00

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.
This commit is contained in:
Pádraig Brady
2021-03-15 13:08:26 +00:00
parent b73b9fcb1d
commit 86c8dc2e85
2 changed files with 9 additions and 3 deletions

View File

@@ -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 */

View File

@@ -21,7 +21,7 @@
#include <stdint.h>
#include <x86intrin.h>
#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;