Clear the BLAKE2B state only once, on finalization
No need to clear everything, and no need to clear again if _final() is called more than once.
This commit is contained in:
parent
1090fcfd4d
commit
97486f7d45
@ -359,7 +359,6 @@ blake2b_final(blake2b_state *S, uint8_t *out, uint8_t outlen)
|
||||
sodium_misuse("blake2b_final(): unsupported output length");
|
||||
}
|
||||
if (blake2b_is_lastblock(S)) {
|
||||
sodium_memzero(S, sizeof *S);
|
||||
return -1;
|
||||
}
|
||||
if (S->buflen > BLAKE2B_BLOCKBYTES) {
|
||||
@ -389,6 +388,9 @@ blake2b_final(blake2b_state *S, uint8_t *out, uint8_t outlen)
|
||||
memcpy(out, buffer, outlen);
|
||||
}
|
||||
#endif
|
||||
sodium_memzero(S->h, sizeof S->h);
|
||||
sodium_memzero(S->buf, sizeof S->buf);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user