Ghidra Decompiler Analysis Engine
|
Helper class for determining if Varnodes can trace their value from a legitimate source. More...
#include <funcdata.hh>
Public Member Functions | |
bool | execute (PcodeOp *op, int4 slot, ParamTrial *t, bool allowFail) |
Perform a full ancestor check on a given parameter trial. More... | |
Helper class for determining if Varnodes can trace their value from a legitimate source.
Try to determine if a Varnode (expressed as a particular input to a CALL, CALLIND, or RETURN op) makes sense as parameter passing (or return value) storage by examining the Varnode's ancestors. If it has ancestors that are unaffected, abnormal inputs, or killedbycall, then this is a sign that the Varnode doesn't make a good parameter.
bool AncestorRealistic::execute | ( | PcodeOp * | op, |
int4 | slot, | ||
ParamTrial * | t, | ||
bool | allowFail | ||
) |
Perform a full ancestor check on a given parameter trial.
op | is the CALL or RETURN to test parameter passing for |
slot | is the index of the particular input varnode to test |
t | is the ParamTrial object corresponding to the varnode |
allowFail | is true if we allow and test for failing paths due to conditional execution |