Skip Menu |

This queue is for tickets about the Digest-MD5 CPAN distribution.

Report information
The Basics
Id: 123185
Status: resolved
Priority: 0/
Queue: Digest-MD5

People
Owner: Nobody in particular
Requestors: dom [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 2.54
Fixed in: (no value)



Subject: 64 bit issue, calculates incorrect MD5
Forwarding from <https://bugs.debian.org/877369>: ----- Digest::MD5 calculates the wrong MD5 for large scalars: $ perl -e 'print "\x00" x 1024 x 1024 x 1024 x 9'|md5sum - 97606009c3309d3a0b4b40ae9fadc720 - $ perl -MDigest::MD5 -E 'say Digest::MD5::md5_hex "\x00" x 1024 x 1024 x 1024 x 9' e02694e929aec3068ff272bebe0ae0a4 This is likely due to buggy length calculation in MD5.xs, which fails for large values of "len" (and hasn't changed for 5.26): ctx->bytes_low += len; if (ctx->bytes_low < len) /* wrap around */ ctx->bytes_high++; ----- Note that I couldn't reproduce this myself as I got an out of memory error (on a machine with 16GB of RAM). The problem does not occur when adding the data 1GB at a time using the OO interface. Digest::MD5 is at 2.54, unmodified by Debian. Thanks for your work on maintaining Digest::MD5!