From ea26b33248663a836d2f0719cb4e46967b648fe2 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Fri, 15 Apr 2016 14:13:52 -0700 Subject: [PATCH] Small fixes to malloc debug. - Change the printed name from pointer to allocation to be explicit about what is wrong. - Change the signal to be SIGRTMAX - 19 instead of SIGRTMIN. This should prevent problems if we have to reserve other real time signals. Bug: 28218530 Change-Id: Ic7d9c471929264d8e47bafaffc16e099840c9e71 --- libc/malloc_debug/Config.cpp | 2 +- libc/malloc_debug/FreeTrackData.cpp | 2 +- libc/malloc_debug/GuardData.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libc/malloc_debug/Config.cpp b/libc/malloc_debug/Config.cpp index ded618c4c..cc600861f 100644 --- a/libc/malloc_debug/Config.cpp +++ b/libc/malloc_debug/Config.cpp @@ -273,7 +273,7 @@ bool Config::SetFromProperties() { fill_free_value = DEFAULT_FILL_FREE_VALUE; front_guard_value = DEFAULT_FRONT_GUARD_VALUE; rear_guard_value = DEFAULT_REAR_GUARD_VALUE; - backtrace_signal = SIGRTMIN + 10; + backtrace_signal = SIGRTMAX - 19; free_track_backtrace_num_frames = 16; // Parse the options are of the format: diff --git a/libc/malloc_debug/FreeTrackData.cpp b/libc/malloc_debug/FreeTrackData.cpp index 682f93d02..8e6502e10 100644 --- a/libc/malloc_debug/FreeTrackData.cpp +++ b/libc/malloc_debug/FreeTrackData.cpp @@ -48,7 +48,7 @@ void FreeTrackData::LogFreeError(const Header* header, const uint8_t* pointer) { uint8_t fill_free_value = debug_->config().fill_free_value; for (size_t i = 0; i < header->usable_size; i++) { if (pointer[i] != fill_free_value) { - error_log(" pointer[%zu] = 0x%02x (expected 0x%02x)", i, pointer[i], fill_free_value); + error_log(" allocation[%zu] = 0x%02x (expected 0x%02x)", i, pointer[i], fill_free_value); } } auto back_iter = backtraces_.find(header); diff --git a/libc/malloc_debug/GuardData.cpp b/libc/malloc_debug/GuardData.cpp index 48961b6ae..e207b8630 100644 --- a/libc/malloc_debug/GuardData.cpp +++ b/libc/malloc_debug/GuardData.cpp @@ -57,7 +57,7 @@ void GuardData::LogFailure(const Header* header, const void* pointer, const void const uint8_t* real = reinterpret_cast(data); for (size_t i = 0; i < cmp_mem_.size(); i++, pointer_idx++) { if (real[i] != expected[i]) { - error_log(" pointer[%d] = 0x%02x (expected 0x%02x)", pointer_idx, real[i], expected[i]); + error_log(" allocation[%d] = 0x%02x (expected 0x%02x)", pointer_idx, real[i], expected[i]); } }