From 4b90430148447ff06f993ed6fec2367183c79f6b Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Mon, 24 Oct 2016 16:05:31 +0200 Subject: [PATCH] sha/keccak1600.c: add couple of soft asserts. Reviewed-by: Richard Levitte --- crypto/sha/keccak1600.c | 4 ++++ 1 file changed, 4 insertions(+) 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]; -- 2.25.1