From 25a7fa86f6f9f5b3f91114db357fa044b92db471 Mon Sep 17 00:00:00 2001 From: lloyd Date: Wed, 3 Feb 2010 05:38:23 +0000 Subject: 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. --- src/hash/md4/md4.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') 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 M; + SecureBuffer M; SecureBuffer digest; }; -- cgit v1.2.3