summaryrefslogtreecommitdiff
path: root/plugins/warp/src/plugin
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-07-04 16:43:31 -0400
committerMason Reed <mason@vector35.com>2025-07-04 16:43:31 -0400
commit88eba55a93f4f750ccdfe81575c91c59a73f3a8c (patch)
tree5a5bc20457550dfb376187ebabbf1eeebaa73f5a /plugins/warp/src/plugin
parentf8d3c5eab487e06ad4b944cc92f689e2e367107d (diff)
[WARP] Fix possible skipped instructions when multiple IL expressions are appended for a given instruction
Diffstat (limited to 'plugins/warp/src/plugin')
-rw-r--r--plugins/warp/src/plugin/render_layer.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/warp/src/plugin/render_layer.rs b/plugins/warp/src/plugin/render_layer.rs
index d7984303..ab09093f 100644
--- a/plugins/warp/src/plugin/render_layer.rs
+++ b/plugins/warp/src/plugin/render_layer.rs
@@ -51,7 +51,7 @@ impl HighlightRenderLayer {
let relocatable_regions = relocatable_regions(&lifted_il.function().view());
for line in lines {
// We use address here instead of index since it's more reliable for other IL's.
- if let Some(lifted_il_instr) = lifted_il.instruction_at(line.address) {
+ for lifted_il_instr in lifted_il.instructions_at(line.address) {
if is_blacklisted_instruction(&lifted_il_instr) {
line.highlight = self.blacklist;
} else if is_variant_instruction(&relocatable_regions, &lifted_il_instr) {
@@ -59,7 +59,7 @@ impl HighlightRenderLayer {
}
}
- if let Some(llil_instr) = llil.instruction_at(line.address) {
+ for llil_instr in llil.instructions_at(line.address) {
if is_computed_variant_instruction(&relocatable_regions, &llil_instr) {
line.highlight = self.computed_variant;
}