From: Paul Mackerras Date: Sun, 18 Jun 2006 23:25:16 +0000 (+1000) Subject: Fix PPC SHA1 routine for large input buffers X-Git-Tag: v1.4.1-rc1~3^2~13 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b47f509ba59df5bd9a780745ca710272c6dd175b;p=git.git Fix PPC SHA1 routine for large input buffers The PPC SHA1 routine had an overflow which meant that it gave incorrect results for input buffers >= 512MB. This fixes it by ensuring that the update of the total length in bits is done using 64-bit arithmetic. Signed-off-by: Paul Mackerras Signed-off-by: Junio C Hamano --- diff --git a/ppc/sha1.c b/ppc/sha1.c index 5ba4fc525..0820398b0 100644 --- a/ppc/sha1.c +++ b/ppc/sha1.c @@ -30,7 +30,7 @@ int SHA1_Update(SHA_CTX *c, const void *ptr, unsigned long n) unsigned long nb; const unsigned char *p = ptr; - c->len += n << 3; + c->len += (uint64_t) n << 3; while (n != 0) { if (c->cnt || n < 64) { nb = 64 - c->cnt;