From: Julian Seward Date: Sun, 20 Nov 2005 19:08:08 +0000 (+0000) Subject: Fix obscure memcheck bug found by Nick. This could cause false X-Git-Tag: svn/VALGRIND_3_1_0~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a24c03427ef629f7abcb781c1d36433775e0b59;p=thirdparty%2Fvalgrind.git Fix obscure memcheck bug found by Nick. This could cause false negatives, but only in the following unlikely circumstances: for an 8-byte store, which is handled by by the slow path (due to misalignment or incomplete addressibility). In this case, the bug caused the top 32 of the written V bits to be forced to zero ("defined"). This would not have affected the vast majority of 8-byte stores since almost all of them would either have been handled by the fast case or would have the top 32 V bits as zero anyway (almost certainly both). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5222 --- diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index 51237ad449..e7d8fc31b8 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -439,7 +439,7 @@ ULong mc_LOADVn_slow ( Addr a, SizeT szB, Bool bigendian ) static -void mc_STOREVn_slow ( Addr a, SizeT szB, UWord vbytes, Bool bigendian ) +void mc_STOREVn_slow ( Addr a, SizeT szB, ULong vbytes, Bool bigendian ) { SizeT i; SizeT n_addrs_bad = 0;