mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 02:09:44 +02:00
GP-5816 Fix return recovery for AARCH64 and ARM
This commit is contained in:
parent
bf167a3126
commit
de842dbd32
8 changed files with 135 additions and 57 deletions
|
@ -2004,6 +2004,12 @@ bool TraverseNode::isAlternatePathValid(const Varnode *vn,uint4 flags)
|
|||
if (vn->loneDescend() == (PcodeOp*)0) return false;
|
||||
const PcodeOp *op = vn->getDef();
|
||||
if (op == (PcodeOp*)0) return true;
|
||||
while(op->isIncidentalCopy() && op->code() == CPUI_COPY) { // Skip any incidental COPY
|
||||
vn = op->getIn(0);
|
||||
if (vn->loneDescend() == (PcodeOp *)0) return false;
|
||||
op = vn->getDef();
|
||||
if (op == (PcodeOp *)0) return true;
|
||||
}
|
||||
return !op->isMarker(); // MULTIEQUAL or INDIRECT indicates multiple values
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue