From d5c0f6bff8a2f96f8c1b55f2e079dceba95e0c1e Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Wed, 4 Mar 2020 13:31:14 -0600 Subject: [PATCH] Fix infinite loop in DWARF address transform algorithm (#1228) --- crates/debug/src/transform/address_transform.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/debug/src/transform/address_transform.rs b/crates/debug/src/transform/address_transform.rs index 9a68e7dee2..86fd0b6313 100644 --- a/crates/debug/src/transform/address_transform.rs +++ b/crates/debug/src/transform/address_transform.rs @@ -303,10 +303,10 @@ impl<'a> Iterator for TransformRangeEndIter<'a> { while let Some((first, tail)) = self.indicies.split_first() { let range_index = *first; let range = &self.ranges[range_index]; + self.indicies = tail; if range.wasm_start >= self.addr { continue; } - self.indicies = tail; let address = match range .positions .binary_search_by(|a| a.wasm_pos.cmp(&self.addr))