Changed handling of reheritaged memory locations

This commit is contained in:
caheckman 2020-10-15 17:14:12 -04:00
parent 7e53da0aed
commit 96910671b0
7 changed files with 93 additions and 18 deletions

View file

@ -349,8 +349,11 @@ void Funcdata::opInsertAfter(PcodeOp *op,PcodeOp *prev)
if (prev->isMarker()) {
if (prev->code() == CPUI_INDIRECT) {
Varnode *invn = prev->getIn(1);
if (invn->getSpace()->getType()==IPTR_IOP)
prev = PcodeOp::getOpFromConst(invn->getAddr()); // Store or call
if (invn->getSpace()->getType()==IPTR_IOP) {
PcodeOp *targOp = PcodeOp::getOpFromConst(invn->getAddr()); // Store or call
if (!targOp->isDead())
prev = targOp;
}
}
}
list<PcodeOp *>::iterator iter = prev->getBasicIter();