summaryrefslogtreecommitdiff
path: root/plugins/workflow_objc/Workflow.cpp
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-07-02 08:31:11 -0400
committerBrian Potchik <brian@vector35.com>2025-07-02 08:31:11 -0400
commit8ef4a64be527a85aa0aca5253abcf5c1f14b3770 (patch)
tree481f3c05d487787b98e7c9a3d3cb93f6165fe53a /plugins/workflow_objc/Workflow.cpp
parentda9df164ea310ee6aab900fa940b63d20839c2dc (diff)
Fix Objective-C dynamic dispatch setting.
Diffstat (limited to 'plugins/workflow_objc/Workflow.cpp')
-rw-r--r--plugins/workflow_objc/Workflow.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/plugins/workflow_objc/Workflow.cpp b/plugins/workflow_objc/Workflow.cpp
index 3be2a042..c0c90427 100644
--- a/plugins/workflow_objc/Workflow.cpp
+++ b/plugins/workflow_objc/Workflow.cpp
@@ -82,7 +82,8 @@ std::vector<std::string> generateArgumentNames(const std::vector<std::string>& c
bool Workflow::rewriteMethodCall(LLILFunctionRef ssa, size_t insnIndex)
{
- const auto bv = ssa->GetFunction()->GetView();
+ auto function = ssa->GetFunction();
+ const auto bv = function->GetView();
const auto llil = ssa->GetNonSSAForm();
const auto insn = ssa->GetInstruction(insnIndex);
const auto params = insn.GetParameterExprs<LLIL_CALL_SSA>();
@@ -143,10 +144,10 @@ bool Workflow::rewriteMethodCall(LLILFunctionRef ssa, size_t insnIndex)
}
auto funcType = BinaryNinja::Type::FunctionType(retType, cc, callTypeParams);
- ssa->GetFunction()->SetAutoCallTypeAdjustment(ssa->GetFunction()->GetArchitecture(), insn.address, {funcType, BN_DEFAULT_CONFIDENCE});
+ function->SetAutoCallTypeAdjustment(function->GetArchitecture(), insn.address, {funcType, BN_DEFAULT_CONFIDENCE});
// --
- if (!BinaryNinja::Settings::Instance()->Get<bool>("core.function.objectiveC.rewriteMessageSendTarget", bv))
+ if (!BinaryNinja::Settings::Instance()->Get<bool>("analysis.objectiveC.resolveDynamicDispatch", function))
return false;
// Check the analysis info for a selector reference corresponding to the