mirror of
https://github.com/NationalSecurityAgency/ghidra
synced 2024-10-13 21:52:59 +00:00
Merge remote-tracking branch 'origin/GP-1792_CallfixupProtoOverride'
into patch (Closes #3319)
This commit is contained in:
commit
06e3580fdd
|
@ -646,9 +646,9 @@ void FlowInfo::queryCall(FuncCallSpecs &fspecs)
|
|||
Funcdata *otherfunc = data.getScopeLocal()->getParent()->queryFunction( fspecs.getEntryAddress() );
|
||||
if (otherfunc != (Funcdata *)0) {
|
||||
fspecs.setFuncdata(otherfunc); // Associate the symbol with the callsite
|
||||
if (!fspecs.hasModel()) { // If the prototype was not overridden
|
||||
fspecs.copyFlowEffects(otherfunc->getFuncProto()); // Take the symbols's prototype
|
||||
// If the callsite is applying just the standard prototype from the symbol,
|
||||
if (!fspecs.hasModel() || otherfunc->getFuncProto().isInline()) { // If the prototype was not overridden
|
||||
fspecs.copyFlowEffects(otherfunc->getFuncProto()); // Take the flow affects of the symbol
|
||||
// If the call site is applying just the standard prototype from the symbol,
|
||||
// this postpones the full copy of the prototype until ActionDefaultParams
|
||||
// Which lets "last second" changes come in, between when the function is first walked and
|
||||
// when it is finally decompiled
|
||||
|
|
Loading…
Reference in a new issue