aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2018-11-28 18:41:34 -0800
committerChristopher Ferris <cferris@google.com>2018-11-28 18:49:27 -0800
commit13715ae41a9045bf463016c5f86c1448534f2d4a (patch)
tree55679a39b4ab9eb0c35d92fcf2eafca74f2f2835 /src
parent08ccc1993359eaeefa82d9f4728d9b81b73b574a (diff)
downloadplatform_external_jemalloc_new-13715ae41a9045bf463016c5f86c1448534f2d4a.tar.gz
platform_external_jemalloc_new-13715ae41a9045bf463016c5f86c1448534f2d4a.tar.bz2
platform_external_jemalloc_new-13715ae41a9045bf463016c5f86c1448534f2d4a.zip
Ignore extents that are not associated with a size.
Bug: 120032857 Test: Passes unit tests. Test: Ran dumpsys -t 300 meminfo --unreachable -a without crashes. Change-Id: I3d784ed2b449970966403bed7d701e2ff7434fba
Diffstat (limited to 'src')
-rw-r--r--src/android_je_iterate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/android_je_iterate.c b/src/android_je_iterate.c
index 0702f338..f0a4cc3e 100644
--- a/src/android_je_iterate.c
+++ b/src/android_je_iterate.c
@@ -56,7 +56,8 @@ int je_iterate(uintptr_t base, size_t size,
callback(allocated_ptr, bin_size, arg);
}
}
- } else if (extent_state_get(extent) == extent_state_active) {
+ } else if (extent_state_get(extent) == extent_state_active &&
+ extent_szind_get_maybe_invalid(extent) < NSIZES) {
// Large allocation.
uintptr_t base_ptr = (uintptr_t)extent_addr_get(extent);
if (ptr <= base_ptr) {