diff --git a/src/hashes/blake2b.c b/src/hashes/blake2b.c index 76d2d35..2d602ea 100644 --- a/src/hashes/blake2b.c +++ b/src/hashes/blake2b.c @@ -382,9 +382,9 @@ int blake2b_done(hash_state *md, unsigned char *out) STORE64L(md->blake2b.h[i], buffer + i * 8); XMEMCPY(out, buffer, md->blake2b.outlen); + zeromem(md, sizeof(hash_state)); #ifdef LTC_CLEAN_STACK zeromem(buffer, sizeof(buffer)); - zeromem(md, sizeof(hash_state)); #endif return CRYPT_OK; } diff --git a/src/hashes/blake2s.c b/src/hashes/blake2s.c index 5169eb5..a26b8ce 100644 --- a/src/hashes/blake2s.c +++ b/src/hashes/blake2s.c @@ -370,9 +370,9 @@ int blake2s_done(hash_state *md, unsigned char *out) STORE32L(md->blake2s.h[i], buffer + i * 4); XMEMCPY(out, buffer, md->blake2s.outlen); + zeromem(md, sizeof(hash_state)); #ifdef LTC_CLEAN_STACK zeromem(buffer, sizeof(buffer)); - zeromem(md, sizeof(hash_state)); #endif return CRYPT_OK; }