crypto: sha512 - Fix byte counter overflow in SHA-512

The current code only increments the upper 64 bits of the SHA-512 byte
counter when the number of bytes hashed happens to hit 2^64 exactly.

This patch increments the upper 64 bits whenever the lower 64 bits
overflows.

Signed-off-by: Kent Yoder <key@linux.vnet.ibm.com>
Cc: stable@kernel.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Kent Yoder 2012-04-05 20:34:20 +08:00 committed by Herbert Xu
parent 5219a5342a
commit 25c3d30c91

View File

@ -174,7 +174,7 @@ sha512_update(struct shash_desc *desc, const u8 *data, unsigned int len)
index = sctx->count[0] & 0x7f; index = sctx->count[0] & 0x7f;
/* Update number of bytes */ /* Update number of bytes */
if (!(sctx->count[0] += len)) if ((sctx->count[0] += len) < len)
sctx->count[1]++; sctx->count[1]++;
part_len = 128 - index; part_len = 128 - index;