mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:27:43 +00:00
LibCrypto: Do not assume that the passed in IV is as long as a block
Just take ReadonlyBytes instead of a raw pointer. Fixes #7072 (tested with the ASAN build fixed by #7060).
This commit is contained in:
parent
e96451edc9
commit
a4e20a87d5
5 changed files with 13 additions and 13 deletions
|
@ -84,7 +84,7 @@ public:
|
|||
CTR<T>::encrypt(in, out, iv);
|
||||
|
||||
auto auth_tag = m_ghash->process(aad, out);
|
||||
block0.apply_initialization_vector(auth_tag.data);
|
||||
block0.apply_initialization_vector({ auth_tag.data, array_size(auth_tag.data) });
|
||||
block0.bytes().copy_to(tag);
|
||||
}
|
||||
|
||||
|
@ -103,7 +103,7 @@ public:
|
|||
CTR<T>::increment(iv);
|
||||
|
||||
auto auth_tag = m_ghash->process(aad, in);
|
||||
block0.apply_initialization_vector(auth_tag.data);
|
||||
block0.apply_initialization_vector({ auth_tag.data, array_size(auth_tag.data) });
|
||||
|
||||
auto test_consistency = [&] {
|
||||
if (block0.block_size() != tag.size() || __builtin_memcmp(block0.bytes().data(), tag.data(), tag.size()) != 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue