diff options
author | lloyd <[email protected]> | 2010-02-03 05:38:23 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-02-03 05:38:23 +0000 |
commit | 25a7fa86f6f9f5b3f91114db357fa044b92db471 (patch) | |
tree | 1266627163dbc0aa59cddd4d4c58186b96781668 /src | |
parent | 7667619fa001b4b9dd9df663fc01fa7c31e5f4f9 (diff) |
MD4's M buffer was set to be 48 words instead of 16. This had been
extant for a long long time and was never caught because until
recently the code did not depend on M.size(). However with the recent
loadstore changes that use memcpy to load the entire array in one
shot, an extra 128 bytes of memory would be read (but not used) in
each iteration.
This probably did not cause any problems except for Valgrind warnings,
though in some situations it would be possible for the M buffer and
MDx_HashFunctions buffer to be close enough that memcpy would be called
with overlapping regions, which could cause arbitrarily weird failures
since memcpy is allowed to assume they do not overlap.
Diffstat (limited to 'src')
-rw-r--r-- | src/hash/md4/md4.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/hash/md4/md4.h b/src/hash/md4/md4.h index 0b76a70e4..0bff5a4ce 100644 --- a/src/hash/md4/md4.h +++ b/src/hash/md4/md4.h @@ -27,7 +27,7 @@ class BOTAN_DLL MD4 : public MDx_HashFunction void hash_old(const byte[]); void copy_out(byte[]); - SecureBuffer<u32bit, 48> M; + SecureBuffer<u32bit, 16> M; SecureBuffer<u32bit, 4> digest; }; |