From e3c86f8f77cb6392c68a69b0de4473f3dcde19f3 Mon Sep 17 00:00:00 2001 From: Sean Parkinson Date: Thu, 1 Apr 2021 17:01:21 +1000 Subject: [PATCH] ARMv8 SHA-256: recalc data in SHA256 update --- wolfcrypt/src/port/arm/armv8-sha256.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wolfcrypt/src/port/arm/armv8-sha256.c b/wolfcrypt/src/port/arm/armv8-sha256.c index de65ec2e6..d2acf9edb 100644 --- a/wolfcrypt/src/port/arm/armv8-sha256.c +++ b/wolfcrypt/src/port/arm/armv8-sha256.c @@ -301,6 +301,7 @@ static WC_INLINE int Sha256Update(wc_Sha256* sha256, const byte* data, word32 le add = (len + sha256->buffLen) - numBlocks * WC_SHA256_BLOCK_SIZE; Sha256Transform(sha256, data, numBlocks); + data += numBlocks * WC_SHA256_BLOCK_SIZE - sha256->buffLen; AddLength(sha256, WC_SHA256_BLOCK_SIZE * numBlocks); @@ -885,6 +886,7 @@ static WC_INLINE int Sha256Update(wc_Sha256* sha256, const byte* data, word32 le add = (len + sha256->buffLen) - numBlocks * WC_SHA256_BLOCK_SIZE; Sha256Transform(sha256, data, numBlocks); + data += numBlocks * WC_SHA256_BLOCK_SIZE - sha256->buffLen; AddLength(sha256, WC_SHA256_BLOCK_SIZE * numBlocks);