Fix infinite loop in DWARF address transform algorithm (#1228)
This commit is contained in:
@@ -303,10 +303,10 @@ impl<'a> Iterator for TransformRangeEndIter<'a> {
|
|||||||
while let Some((first, tail)) = self.indicies.split_first() {
|
while let Some((first, tail)) = self.indicies.split_first() {
|
||||||
let range_index = *first;
|
let range_index = *first;
|
||||||
let range = &self.ranges[range_index];
|
let range = &self.ranges[range_index];
|
||||||
|
self.indicies = tail;
|
||||||
if range.wasm_start >= self.addr {
|
if range.wasm_start >= self.addr {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
self.indicies = tail;
|
|
||||||
let address = match range
|
let address = match range
|
||||||
.positions
|
.positions
|
||||||
.binary_search_by(|a| a.wasm_pos.cmp(&self.addr))
|
.binary_search_by(|a| a.wasm_pos.cmp(&self.addr))
|
||||||
|
|||||||
Reference in New Issue
Block a user