|
From: <sv...@va...> - 2005-12-07 00:55:21
|
Author: sewardj
Date: 2005-12-07 00:55:14 +0000 (Wed, 07 Dec 2005)
New Revision: 5309
Log:
Fix bogus OSet handling in VG_(redir_notify_delete_SegInfo) (bug
detected by the 0xDDDDDDDD trick :-)
Modified:
branches/FNWRAP/coregrind/m_redir.c
Modified: branches/FNWRAP/coregrind/m_redir.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
--- branches/FNWRAP/coregrind/m_redir.c 2005-12-07 00:36:51 UTC (rev 5308=
)
+++ branches/FNWRAP/coregrind/m_redir.c 2005-12-07 00:55:14 UTC (rev 5309=
)
@@ -583,9 +583,9 @@
activeSet. */
VG_(OSet_ResetIter)( tmpSet );
while ( (addrP =3D VG_(OSet_Next)(tmpSet)) ) {
- /* XXXXXXXXXXX invalidate translations */
- VG_(OSet_Remove)( activeSet, addrP );
- VG_(OSet_FreeNode)( activeSet, addrP );
+ act =3D VG_(OSet_Remove)( activeSet, addrP );
+ vg_assert(act);
+ VG_(OSet_FreeNode)( activeSet, act );
}
=20
VG_(OSet_Destroy)( tmpSet );
@@ -606,6 +606,9 @@
tsPrev->next =3D ts->next;
}
symtab_free(ts);
+
+ if (VG_(clo_trace_redir))
+ show_redir_state("after VG_(redir_notify_delete_SegInfo)");
}
=20
=20
|