mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
GP-3307 Stack strings
This commit is contained in:
parent
9b6ba66aa0
commit
5604178194
37 changed files with 1653 additions and 419 deletions
|
@ -1384,7 +1384,7 @@ void Merge::groupPartialRoot(Varnode *vn)
|
|||
baseOffset = entry->getOffset();
|
||||
}
|
||||
|
||||
PieceNode::gatherPieces(pieces, vn, vn->getDef(), baseOffset);
|
||||
PieceNode::gatherPieces(pieces, vn, vn->getDef(), baseOffset, baseOffset);
|
||||
bool throwOut = false;
|
||||
for(int4 i=0;i<pieces.size();++i) {
|
||||
Varnode *nodeVn = pieces[i].getVarnode();
|
||||
|
@ -1496,6 +1496,14 @@ void Merge::markInternalCopies(void)
|
|||
if (p2->getOffset() != p1->getOffset() + v3->getSize()) break;
|
||||
}
|
||||
data.opMarkNonPrinting(op);
|
||||
if (v2->isImplied()) {
|
||||
v2->clearImplied();
|
||||
v2->setExplicit();
|
||||
}
|
||||
if (v3->isImplied()) {
|
||||
v3->clearImplied();
|
||||
v3->setExplicit();
|
||||
}
|
||||
break;
|
||||
case CPUI_SUBPIECE:
|
||||
v1 = op->getOut();
|
||||
|
@ -1513,6 +1521,10 @@ void Merge::markInternalCopies(void)
|
|||
if (p2->getOffset() + val != p1->getOffset()) break;
|
||||
}
|
||||
data.opMarkNonPrinting(op);
|
||||
if (v2->isImplied()) {
|
||||
v2->clearImplied();
|
||||
v2->setExplicit();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue