malloc_usable_size returns the original size.
Bug: 16874447
(cherry picked from commit 59c1ee44d0a560a754513fab12641c8a57a20d9e)
Change-Id: I70839632974367c8b9893fb1f9c5ee4364608470
diff --git a/libc/bionic/malloc_debug_leak.cpp b/libc/bionic/malloc_debug_leak.cpp
index 837dccc..27b6714 100644
--- a/libc/bionic/malloc_debug_leak.cpp
+++ b/libc/bionic/malloc_debug_leak.cpp
@@ -481,11 +481,15 @@
return 0;
}
+ // TODO: Temporary workaround to avoid a crash b/16874447.
+ return header->entry->size & ~SIZE_FLAG_MASK;
+#if 0
size_t ret = g_malloc_dispatch->malloc_usable_size(header);
if (ret != 0) {
// The usable area starts at 'mem' and stops at 'header+ret'.
return reinterpret_cast<uintptr_t>(header) + ret - reinterpret_cast<uintptr_t>(mem);
}
+#endif
}
return 0;
}