From: Andy Polyakov Date: Mon, 24 Oct 2016 14:05:31 +0000 (+0200) Subject: sha/keccak1600.c: add couple of soft asserts. X-Git-Tag: OpenSSL_1_1_1-pre1~3305 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4b90430148447ff06f993ed6fec2367183c79f6b;p=oweals%2Fopenssl.git sha/keccak1600.c: add couple of soft asserts. Reviewed-by: Richard Levitte --- diff --git a/crypto/sha/keccak1600.c b/crypto/sha/keccak1600.c index 4397372ccb..9e08c504c7 100644 --- a/crypto/sha/keccak1600.c +++ b/crypto/sha/keccak1600.c @@ -167,6 +167,8 @@ size_t SHA3_absorb(uint64_t A[5][5], const unsigned char *inp, size_t len, uint64_t *A_flat = (uint64_t *)A; size_t i, w = r / 8; + assert(r < (25 * sizeof(A[0][0])) && (r % 8) == 0); + while (len >= r) { for (i = 0; i < w; i++) { A_flat[i] ^= (uint64_t)inp[0] | (uint64_t)inp[1] << 8 | @@ -191,6 +193,8 @@ void SHA3_squeeze(uint64_t A[5][5], unsigned char *out, size_t len, size_t r) uint64_t *A_flat = (uint64_t *)A; size_t i, rem, w = r / 8; + assert(r < (25 * sizeof(A[0][0])) && (r % 8) == 0); + while (len >= r) { for (i = 0; i < w; i++) { uint64_t Ai = A_flat[i];