Message ID | CAEwic4Y2+BW3984jy6UtGtOOG8gZLW06MhDLNLFrFmGKhh1qpQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
On Wed, Jan 30, 2013 at 9:44 AM, Kai Tietz <ktietz70@googlemail.com> wrote: > > 2013-01-30 Kai Tietz <ktietz@redhat.com> > > PR other/543413 > * md5.c (md5_process_block): Handle case that size_t is > a wider-integer-scalar a 32-bit unsigned integer. This is OK. Thanks. Ian
Kai Tietz <ktietz70@googlemail.com> writes: > this patch fixes wrong handling of cases that bitness of size_t is > wider as 32-bit. > > ChangeLog > > 2013-01-30 Kai Tietz <ktietz@redhat.com> > > PR other/543413 ^ this is clearly wrong (6 digits) > * md5.c (md5_process_block): Handle case that size_t is > a wider-integer-scalar a 32-bit unsigned integer. Rainer
2013/1/31 Rainer Orth <ro@cebitec.uni-bielefeld.de>: > Kai Tietz <ktietz70@googlemail.com> writes: > >> this patch fixes wrong handling of cases that bitness of size_t is >> wider as 32-bit. >> >> ChangeLog >> >> 2013-01-30 Kai Tietz <ktietz@redhat.com> >> >> PR other/543413 > > ^ this is clearly wrong (6 digits) > >> * md5.c (md5_process_block): Handle case that size_t is >> a wider-integer-scalar a 32-bit unsigned integer. > > Rainer > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University Thanks, your heads up is too late. corrected this already. Cheers, Kai
Index: md5.c =================================================================== --- md5.c (Revision 195578) +++ md5.c (Arbeitskopie) @@ -293,8 +293,7 @@ md5_process_block (const void *buffer, size_t len, length of the file up to 2^64 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] += len; - if (ctx->total[0] < len) - ++ctx->total[1]; + ctx->total[1] += ((len >> 31) >> 1) + (ctx->total[0] < len); /* Process all bytes in the buffer with 64 bytes in each round of the loop. */