1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 02:38:13 +00:00

LibCrypto: Use explicit_bzero instead of memset to zero 'secure data'

PVS-Studio flagged this, as memset can be optimized away by the compiler
in some cases. We obviously don't want that to ever happen so make sure
to always use `explicit_bzero(..)` which can't be optimized away.
This commit is contained in:
Brian Gianforcaro 2021-09-11 09:49:47 -07:00 committed by Andreas Kling
parent 3590c55b69
commit 27a124f7d8
2 changed files with 4 additions and 2 deletions

View file

@ -7,6 +7,7 @@
#include <AK/Endian.h>
#include <AK/Types.h>
#include <LibCrypto/Hash/SHA1.h>
#include <string.h>
namespace Crypto {
namespace Hash {
@ -63,7 +64,7 @@ inline void SHA1::transform(const u8* data)
c = 0;
d = 0;
e = 0;
__builtin_memset(blocks, 0, 16 * sizeof(u32));
explicit_bzero(blocks, 16 * sizeof(u32));
}
void SHA1::update(const u8* message, size_t length)