From 513e7c05e9418e36114f9c83ccd60f4a10493e5c Mon Sep 17 00:00:00 2001 From: Kp Date: Fri, 12 Jun 2015 02:54:53 +0000 Subject: [PATCH] Remove force-free of "leaked" memory in mem_display_blocks mem_display_blocks runs before global destructors, so it reports as leaked any memory which is managed by a global scope object with a destructor. If mem_display_blocks calls mem_free, and the destructor later calls mem_free, a double-free results, and usually leads to a crash. Even if the memory were actually leaked, freeing it does not help because the program will exit soon anyway. Reported-by: zico --- similar/mem/mem.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/similar/mem/mem.cpp b/similar/mem/mem.cpp index e8486cb79..666414086 100644 --- a/similar/mem/mem.cpp +++ b/similar/mem/mem.cpp @@ -320,7 +320,6 @@ void mem_display_blocks() con_printf(CON_CRITICAL, "\nMEM_LEAKAGE: Memory block has not been freed." ); PrintInfo( i ); } - mem_free( (void *)MallocBase[i] ); } }