From 5d9e145c62cc6f6b39409032af529a60cb7bf479 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Thu, 14 Aug 2014 12:48:04 -0700 Subject: [PATCH] malloc_usable_size returns the original size. Bug: 16874447 (cherry picked from commit 59c1ee44d0a560a754513fab12641c8a57a20d9e) Change-Id: I70839632974367c8b9893fb1f9c5ee4364608470 --- libc/bionic/malloc_debug_leak.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libc/bionic/malloc_debug_leak.cpp b/libc/bionic/malloc_debug_leak.cpp index 837dccc5a..27b671432 100644 --- a/libc/bionic/malloc_debug_leak.cpp +++ b/libc/bionic/malloc_debug_leak.cpp @@ -481,11 +481,15 @@ extern "C" size_t leak_malloc_usable_size(const void* mem) { 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(header) + ret - reinterpret_cast(mem); } +#endif } return 0; }