From 83169f91e9f0db88633ac1d1cfb60d1b71c0c68e Mon Sep 17 00:00:00 2001 From: jordan Date: Sat, 3 Feb 2024 17:36:26 -0600 Subject: [PATCH] Fix ShaFinal overrun. --- wolfcrypt/src/sha.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wolfcrypt/src/sha.c b/wolfcrypt/src/sha.c index 1f4439f0f..69990791f 100644 --- a/wolfcrypt/src/sha.c +++ b/wolfcrypt/src/sha.c @@ -841,7 +841,10 @@ int wc_ShaFinal(wc_Sha* sha, byte* hash) /* pad with zeros */ if (sha->buffLen > WC_SHA_PAD_SIZE) { - XMEMSET(&local[sha->buffLen], 0, WC_SHA_BLOCK_SIZE - sha->buffLen); + if (sha->buffLen < WC_SHA_BLOCK_SIZE) { + XMEMSET(&local[sha->buffLen], 0, WC_SHA_BLOCK_SIZE - sha->buffLen); + } + sha->buffLen += WC_SHA_BLOCK_SIZE - sha->buffLen; #if defined(WOLFSSL_USE_ESP32_CRYPT_HASH_HW)