|
From: <sv...@va...> - 2010-09-02 10:24:57
|
Author: bart
Date: 2010-09-02 11:24:49 +0100 (Thu, 02 Sep 2010)
New Revision: 11320
Log:
Improved support for VALGRIND_MALLOCLIKE_BLOCK in memcheck: error
messages printed for client-annotated blocks do now include a correct
address description. Closes #237371.
Modified:
trunk/memcheck/mc_malloc_wrappers.c
Modified: trunk/memcheck/mc_malloc_wrappers.c
===================================================================
--- trunk/memcheck/mc_malloc_wrappers.c 2010-09-02 09:41:52 UTC (rev 11319)
+++ trunk/memcheck/mc_malloc_wrappers.c 2010-09-02 10:24:49 UTC (rev 11320)
@@ -120,7 +120,8 @@
mc1->next = NULL; /* just paranoia */
/* free MC_Chunk */
- VG_(cli_free) ( (void*)(mc1->data) );
+ if (MC_AllocCustom != mc1->allockind)
+ VG_(cli_free) ( (void*)(mc1->data) );
VG_(free) ( mc1 );
}
}
@@ -290,14 +291,10 @@
accessible with a client request... */
MC_(make_mem_noaccess)( mc->data-rzB, mc->szB + 2*rzB );
- /* Put it out of harm's way for a while, if not from a client request */
- if (MC_AllocCustom != mc->allockind) {
- /* Record where freed */
- mc->where = VG_(record_ExeContext) ( tid, 0/*first_ip_delta*/ );
- add_to_freed_queue ( mc );
- } else {
- VG_(free) ( mc );
- }
+ /* Record where freed */
+ mc->where = VG_(record_ExeContext) ( tid, 0/*first_ip_delta*/ );
+ /* Put it out of harm's way for a while */
+ add_to_freed_queue ( mc );
}
void MC_(handle_free) ( ThreadId tid, Addr p, UInt rzB, MC_AllocKind kind )
|