diff options
author | Christopher Ferris <cferris@google.com> | 2018-11-28 18:41:34 -0800 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2018-11-28 18:49:27 -0800 |
commit | 13715ae41a9045bf463016c5f86c1448534f2d4a (patch) | |
tree | 55679a39b4ab9eb0c35d92fcf2eafca74f2f2835 /src | |
parent | 08ccc1993359eaeefa82d9f4728d9b81b73b574a (diff) | |
download | platform_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.c | 3 |
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) { |