Don't free anything when reporting leaks.

We don't know that they're not going to be cleaned up by a
C++ global destructor that runs after us. This is the case with
bootanimation, for example.

Bug: 7291287
Change-Id: Iba402514d1735fdc2ae4bc95b65396d816be46c0
This commit is contained in:
Elliott Hughes 2013-01-22 18:36:28 -08:00
parent 28f82b260c
commit 848247a972

View file

@ -362,8 +362,6 @@ extern "C" void chk_free(void *ptr) {
log_message("+++ ALLOCATION %p IS CORRUPTED OR NOT ALLOCATED VIA TRACKER!\n",
user(hdr));
log_backtrace(gMapInfo, bt, depth);
/* Leak here so that we do not crash */
//dlfree(user(hdr));
}
} else {
hdr->freed_bt_depth = get_backtrace(hdr->freed_bt,
@ -459,14 +457,12 @@ static void heaptracker_free_leaked_memory() {
/* safe == 1, because the allocation is valid */
log_backtrace(gMapInfo, del->bt, del->bt_depth);
}
dlfree(del);
}
// log_message("+++ DELETING %d BACKLOGGED ALLOCATIONS\n", backlog_num);
while (backlog_head) {
del = backlog_tail;
del_from_backlog(del);
dlfree(del);
}
}