mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 19:42:36 +02:00
Merge branch 'GP-3150_emteere_ARM_ReturnBranchWaffleLockupFix'
This commit is contained in:
commit
528c0a8b94
2 changed files with 10 additions and 1 deletions
|
@ -95,6 +95,10 @@ public class ArmAnalyzer extends ConstantPropagationAnalyzer {
|
|||
!instr.getFlowType().isTerminal()) {
|
||||
// need to set the return override
|
||||
instr.setFlowOverride(FlowOverride.RETURN);
|
||||
// get rid of any references that might have been put on from
|
||||
// bad flows
|
||||
ReferenceManager refMgr = program.getReferenceManager();
|
||||
refMgr.removeAllReferencesFrom(instr.getAddress());
|
||||
}
|
||||
}
|
||||
// if LR is a constant and is set right after this, this is a call
|
||||
|
@ -109,6 +113,10 @@ public class ArmAnalyzer extends ConstantPropagationAnalyzer {
|
|||
if (hasDataReferenceTo(program, addr)) {
|
||||
return false;
|
||||
}
|
||||
// if flow already over-ridden don't override again
|
||||
if (instr.getFlowOverride() != FlowOverride.NONE) {
|
||||
return false;
|
||||
}
|
||||
instr.setFlowOverride(FlowOverride.CALL);
|
||||
// need to trigger disassembly below! if not already
|
||||
doArmThumbDisassembly(program, instr, context, addr,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue