mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 17:59:46 +02:00
Overlapping input fixes
This commit is contained in:
parent
a8f9d4f7ac
commit
2df81f803b
4 changed files with 33 additions and 9 deletions
|
@ -1649,6 +1649,12 @@ int4 AncestorRealistic::enterNode(State &state)
|
|||
multiDepth += 1;
|
||||
stateStack.push_back(State(op,0));
|
||||
return enter_node; // Nothing to check, start traversing inputs of MULTIEQUAL
|
||||
case CPUI_PIECE:
|
||||
// If the trial is getting pieced together and then truncated in a register,
|
||||
// this is evidence of artificial data-flow.
|
||||
if (state.vn->getSize() > trial->getSize() && state.vn->getSpace()->getType() != IPTR_SPACEBASE)
|
||||
return pop_fail;
|
||||
return pop_solid;
|
||||
default:
|
||||
return pop_solid; // Any other LOAD or arithmetic/logical operation is viewed as solid movement
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue