summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-07-20 20:41:01 -0400
committerMason Reed <mason@vector35.com>2025-07-21 12:14:45 -0400
commit889220635ade554600346a576fe60de0a40b3b07 (patch)
tree4094f429c8284dcffd3adc822792540d64b9ec44 /plugins
parent34216a4e6724c80c018b8cfa6f133a270728f095 (diff)
[WARP] Fix garbage jumps from being included in the variant instruction masking
We emit jumps at the end of some blocks that the architecture is not aware of, they are not actually apart of the functions instructions rather they are used in our analysis... somehow, I have not figured out what they are supposed to be used for but regardless, they should be ignored by WARP. This was just a case where the filtering was including jumps in non start instructions, where we actually wanted the opposite.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/warp/src/lib.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins/warp/src/lib.rs b/plugins/warp/src/lib.rs
index 0a4a758c..fd935702 100644
--- a/plugins/warp/src/lib.rs
+++ b/plugins/warp/src/lib.rs
@@ -248,7 +248,7 @@ pub fn filtered_instructions_at<M: FunctionMutability>(
LowLevelILInstructionKind::NoRet(_) | LowLevelILInstructionKind::Ret(_) => false,
// Stop collecting instruction if we are probably the end function jump in lifted IL. This
// is emitted at the end of the function and will mess with our GUID.
- LowLevelILInstructionKind::Jump(_) => *i != 0,
+ LowLevelILInstructionKind::Jump(_) => *i == 0,
_ => true,
})
.map(|(_, instr)| instr)