summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2013-01-30 11:38:26 -0800
committerElliott Hughes <enh@google.com>2013-01-30 11:38:26 -0800
commit1d12d574169cedd68185196e4957597d00fd4681 (patch)
tree0da27f2238592c5bb074afe229e97b802ddb6161 /libc
parenta990cf5b3392c5aef767aee1e67b4d7ef651afc6 (diff)
downloadbionic-1d12d574169cedd68185196e4957597d00fd4681.zip
bionic-1d12d574169cedd68185196e4957597d00fd4681.tar.gz
bionic-1d12d574169cedd68185196e4957597d00fd4681.tar.bz2
Say explicitly if there were no leaks.
Otherwise people trying to use this are left wondering "did I not leak, or did the leak checking code not get called when I exited?". Change-Id: If79b225f8a2e24dd69aba1fb836bf9e81bb00efe
Diffstat (limited to 'libc')
-rw-r--r--libc/bionic/malloc_debug_check.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/libc/bionic/malloc_debug_check.cpp b/libc/bionic/malloc_debug_check.cpp
index 18c3ed4..394b8bb 100644
--- a/libc/bionic/malloc_debug_check.cpp
+++ b/libc/bionic/malloc_debug_check.cpp
@@ -437,10 +437,6 @@ extern "C" void *chk_calloc(int nmemb, size_t size) {
}
static void heaptracker_free_leaked_memory() {
- if (gAllocatedBlockCount == 0) {
- return;
- }
-
// Use /proc/self/exe link to obtain the program name for logging
// purposes. If it's not available, we set it to "<unknown>".
char exe[PATH_MAX];
@@ -451,6 +447,11 @@ static void heaptracker_free_leaked_memory() {
exe[count] = '\0';
}
+ if (gAllocatedBlockCount == 0) {
+ log_message("+++ %s did not leak", exe);
+ return;
+ }
+
size_t index = 1;
const size_t total = gAllocatedBlockCount;
while (head != NULL) {