diff --git a/wolfcrypt/src/sha256.c b/wolfcrypt/src/sha256.c index e610d5413..50b8cf60f 100644 --- a/wolfcrypt/src/sha256.c +++ b/wolfcrypt/src/sha256.c @@ -1094,7 +1094,7 @@ static int InitSha256(wc_Sha256* sha256) #endif /* save remainder */ - if (len > 0) { + if (ret == 0 && len > 0) { XMEMCPY(local, data, len); sha256->buffLen = len; } diff --git a/wolfcrypt/src/sha512.c b/wolfcrypt/src/sha512.c index 1a4483278..ef09e5404 100644 --- a/wolfcrypt/src/sha512.c +++ b/wolfcrypt/src/sha512.c @@ -717,7 +717,7 @@ static WC_INLINE int Sha512Update(wc_Sha512* sha512, const byte* data, word32 le } #endif - if (len > 0) { + if (ret == 0 && len > 0) { XMEMCPY(local, data, len); sha512->buffLen = len; }