summaryrefslogtreecommitdiff
path: root/libc/malloc_debug/malloc_debug.cpp
diff options
context:
space:
mode:
authorIris Chang <iris.chang@mediatek.com>2019-01-16 11:17:15 +0800
committerChristopher Ferris <cferris@google.com>2019-01-22 15:54:36 -0800
commit7f209a979c55a58e91946a2efd5f0b339ffe309c (patch)
tree481e04cf25531a9ced30b032bb5ba93f06de674e /libc/malloc_debug/malloc_debug.cpp
parent822326db922ac5d0e4dea8cff1d774e8f04db94a (diff)
Bionic malloc debug: add a new option "abort_on_error"
This new option causes an abort after malloc debug detects an error. This allows vendors to get process coredumps to analyze memory for corruption. Bug: 123009873 Test: New test cases added for unit tests and config tests. Change-Id: I6b480af7f747d6a82f61e8bf3df204a5f7ba017f
Diffstat (limited to 'libc/malloc_debug/malloc_debug.cpp')
-rw-r--r--libc/malloc_debug/malloc_debug.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libc/malloc_debug/malloc_debug.cpp b/libc/malloc_debug/malloc_debug.cpp
index 9075a9caa..2e6afff55 100644
--- a/libc/malloc_debug/malloc_debug.cpp
+++ b/libc/malloc_debug/malloc_debug.cpp
@@ -154,6 +154,9 @@ static void LogError(const void* pointer, const char* error_str) {
error_log("Backtrace at time of failure:");
BacktraceAndLog();
error_log(LOG_DIVIDER);
+ if (g_debug->config().options() & ABORT_ON_ERROR) {
+ abort();
+ }
}
static bool VerifyPointer(const void* pointer, const char* function_name) {