1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-12 12:00:21 +02:00

(sysv_sum_file): Avoid overflowing 32-bit accumulator

on files larger than 256 MB.
This commit is contained in:
Jim Meyering
2000-06-24 07:37:44 +00:00
parent 1cc0f0d268
commit a6e6a1e05b
+3
View File
@@ -176,6 +176,9 @@ sysv_sum_file (const char *file, int print_name)
for (i = 0; i < bytes_read; i++)
checksum += buf[i];
/* Reduce checksum mod 0xffff, to avoid overflow. */
checksum = (checksum & 0xffff) + (checksum >> 16);
total_bytes += bytes_read;
}