diff --git a/wolfcrypt/src/blake2b.c b/wolfcrypt/src/blake2b.c index 86502eadf..b28e9c055 100644 --- a/wolfcrypt/src/blake2b.c +++ b/wolfcrypt/src/blake2b.c @@ -356,9 +356,9 @@ int blake2b_final( blake2b_state *S, byte *out, byte outlen ) } S->buflen -= BLAKE2B_BLOCKBYTES; - if ( S->buflen >= (BLAKE2B_BLOCKBYTES * 2) ) + if ( S->buflen > BLAKE2B_BLOCKBYTES ) return BAD_LENGTH_E; - XMEMCPY( S->buf, S->buf + BLAKE2B_BLOCKBYTES, (wolfssl_word)S->buflen ); + XMEMMOVE( S->buf, S->buf + BLAKE2B_BLOCKBYTES, (wolfssl_word)S->buflen ); } blake2b_increment_counter( S, S->buflen );