diff --git a/src/blake2b-ref.c b/src/blake2b-ref.c index b153bcb..4d40764 100644 --- a/src/blake2b-ref.c +++ b/src/blake2b-ref.c @@ -340,7 +340,7 @@ int blake2b_final( blake2b_state *S, uint8_t *out, size_t outlen ) blake2b_increment_counter( S, BLAKE2B_BLOCKBYTES ); blake2b_compress( S, S->buf ); S->buflen -= BLAKE2B_BLOCKBYTES; - memcpy( S->buf, S->buf + BLAKE2B_BLOCKBYTES, S->buflen ); + memmove( S->buf, S->buf + BLAKE2B_BLOCKBYTES, S->buflen ); } blake2b_increment_counter( S, S->buflen ); diff --git a/src/blake2b.c b/src/blake2b.c index c1b8e90..6ac57f2 100644 --- a/src/blake2b.c +++ b/src/blake2b.c @@ -395,7 +395,7 @@ int blake2b_final( blake2b_state *S, uint8_t *out, size_t outlen ) blake2b_increment_counter( S, BLAKE2B_BLOCKBYTES ); blake2b_compress( S, S->buf ); S->buflen -= BLAKE2B_BLOCKBYTES; - memcpy( S->buf, S->buf + BLAKE2B_BLOCKBYTES, S->buflen ); + memmove( S->buf, S->buf + BLAKE2B_BLOCKBYTES, S->buflen ); } blake2b_increment_counter( S, S->buflen ); diff --git a/src/blake2s-ref.c b/src/blake2s-ref.c index 38bfdbe..db7390f 100644 --- a/src/blake2s-ref.c +++ b/src/blake2s-ref.c @@ -330,7 +330,7 @@ int blake2s_final( blake2s_state *S, uint8_t *out, size_t outlen ) blake2s_increment_counter( S, BLAKE2S_BLOCKBYTES ); blake2s_compress( S, S->buf ); S->buflen -= BLAKE2S_BLOCKBYTES; - memcpy( S->buf, S->buf + BLAKE2S_BLOCKBYTES, S->buflen ); + memmove( S->buf, S->buf + BLAKE2S_BLOCKBYTES, S->buflen ); } blake2s_increment_counter( S, ( uint32_t )S->buflen ); diff --git a/src/blake2s.c b/src/blake2s.c index a05b8af..db97974 100644 --- a/src/blake2s.c +++ b/src/blake2s.c @@ -370,7 +370,7 @@ int blake2s_final( blake2s_state *S, uint8_t *out, size_t outlen ) blake2s_increment_counter( S, BLAKE2S_BLOCKBYTES ); blake2s_compress( S, S->buf ); S->buflen -= BLAKE2S_BLOCKBYTES; - memcpy( S->buf, S->buf + BLAKE2S_BLOCKBYTES, S->buflen ); + memmove( S->buf, S->buf + BLAKE2S_BLOCKBYTES, S->buflen ); } blake2s_increment_counter( S, ( uint32_t )S->buflen );