File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed
Ghidra/Features/Decompiler/src/decompile/cpp Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -572,10 +572,11 @@ bool Funcdata::earlyJumpTableFail(PcodeOp *op)
572
572
OpCode opc = op->code ();
573
573
if (opc == CPUI_CALLOTHER) {
574
574
int4 id = (int4)op->getIn (0 )->getOffset ();
575
- InjectedUserOp *userOp = dynamic_cast <InjectedUserOp *>( glb->userops .getOp (id) );
576
- if (userOp != (InjectedUserOp *)0 ) {
575
+ UserPcodeOp *userOp = glb->userops .getOp (id);
576
+ if (dynamic_cast <InjectedUserOp *>( userOp) != (InjectedUserOp *)0 )
577
577
return false ; // Don't try to back track through injection
578
- }
578
+ if (dynamic_cast <JumpAssistOp *>(userOp) != (JumpAssistOp *)0 )
579
+ return false ;
579
580
if (outhit)
580
581
return true ; // Address formed via uninjected CALLOTHER, analysis will fail
581
582
// Assume CALLOTHER will not interfere with address and continue backtracking
You can’t perform that action at this time.
0 commit comments