diff --git a/irdb-libs/ir_builders/fix_calls.cpp b/irdb-libs/ir_builders/fix_calls.cpp index f5d508fa8c4b38f52d6d762e4ccaf9fd443f9f1f..044dcf9ff73976edd873480f5fdc47fd632440d5 100644 --- a/irdb-libs/ir_builders/fix_calls.cpp +++ b/irdb-libs/ir_builders/fix_calls.cpp @@ -511,7 +511,15 @@ class FixCalls_t : public TransformStep_t return; /* record the possibly new indirect branch target if this call gets fixed */ - Instruction_t* newindirtarg=insn->getFallthrough(); + const auto newindirtarg=insn->getFallthrough(); + + if(!newindirtarg) + { + cout << "Warning! No fallthrough for fixed call at " << hex + << insn->getBaseID() << ":" << insn->getDisassembly() + << "@" << insn->getAddress()->getVirtualOffset() + << endl; + } /* Disassemble the instruction */ auto disasmp=DecodedInstruction_t::factory (insn); @@ -605,6 +613,7 @@ class FixCalls_t : public TransformStep_t + /* If the fallthrough is not marked as indirectly branchable-to, then mark it so */ if(newindirtarg && !newindirtarg->getIndirectBranchTargetAddress()) {