mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 02:39:44 +02:00
Merge remote-tracking branch 'origin/patch'
Conflicts: Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/component/DecompilerUtils.java
This commit is contained in:
commit
7dbf5e7639
5 changed files with 203 additions and 145 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue