diff options
author | Elliott Hughes <enh@google.com> | 2013-01-30 11:38:26 -0800 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2013-01-30 11:38:26 -0800 |
commit | 1d12d574169cedd68185196e4957597d00fd4681 (patch) | |
tree | 0da27f2238592c5bb074afe229e97b802ddb6161 /libc | |
parent | a990cf5b3392c5aef767aee1e67b4d7ef651afc6 (diff) | |
download | bionic-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.cpp | 9 |
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) { |