|
From: <sv...@va...> - 2005-11-20 19:08:11
|
Author: sewardj
Date: 2005-11-20 19:08:08 +0000 (Sun, 20 Nov 2005)
New Revision: 5222
Log:
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).
Modified:
trunk/memcheck/mc_main.c
Modified: trunk/memcheck/mc_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mc_main.c 2005-11-20 18:14:04 UTC (rev 5221)
+++ trunk/memcheck/mc_main.c 2005-11-20 19:08:08 UTC (rev 5222)
@@ -439,7 +439,7 @@
=20
=20
static=20
-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 =3D 0;
|