diff --git a/compiler-rt/lib/lsan/lsan_common.cpp b/compiler-rt/lib/lsan/lsan_common.cpp index 329e29477d072..6510e0ac3bf6a 100644 --- a/compiler-rt/lib/lsan/lsan_common.cpp +++ b/compiler-rt/lib/lsan/lsan_common.cpp @@ -405,6 +405,8 @@ static void ProcessThreads(SuspendedThreadsList const &suspended_threads, InternalMmapVector registers; InternalMmapVector extra_ranges; for (uptr i = 0; i < suspended_threads.ThreadCount(); i++) { + registers.clear(); + extra_ranges.clear(); const tid_t os_id = static_cast(suspended_threads.GetThreadID(i)); LOG_THREADS("Processing thread %llu.\n", os_id); uptr stack_begin, stack_end, tls_begin, tls_end, cache_begin, cache_end; @@ -463,7 +465,6 @@ static void ProcessThreads(SuspendedThreadsList const &suspended_threads, } ScanRangeForPointers(stack_begin, stack_end, frontier, "STACK", kReachable); - extra_ranges.clear(); GetThreadExtraStackRangesLocked(os_id, &extra_ranges); ScanExtraStackRanges(extra_ranges, frontier); }