summaryrefslogtreecommitdiff
path: root/workflow.cpp
diff options
context:
space:
mode:
authorMark Rowe <mark@vector35.com>2025-07-15 18:35:20 -0700
committerMark Rowe <mark@vector35.com>2025-07-16 15:01:34 -0700
commit12486a2472aef8a60c5fce5b62bc516120075c36 (patch)
treee5593fad3de90f2b80c555ed5e8e8413e41999a4 /workflow.cpp
parent8ef0a6e6acae4dd753e81e9e8eb01a22c3d24f61 (diff)
Fix leaks from the Workflow constructor
Don't add an additional reference to the wrapped object in the constructor. API wrapper objects are passed a +1 object and do not need to add an additional reference. All clients of the Workflow constructors are doing this already which was resulting in leaks. Fixes https://github.com/Vector35/binaryninja-api/issues/7059.
Diffstat (limited to 'workflow.cpp')
-rw-r--r--workflow.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/workflow.cpp b/workflow.cpp
index 83e7b142..03a10c54 100644
--- a/workflow.cpp
+++ b/workflow.cpp
@@ -392,20 +392,20 @@ Workflow::Workflow(const string& name)
Workflow::Workflow(BNWorkflow* workflow)
{
- m_object = BNNewWorkflowReference(workflow);
+ m_object = workflow;
}
Workflow::Workflow(BNWorkflow* workflow, Ref<BinaryView> view)
{
- m_object = BNNewWorkflowReference(workflow);
+ m_object = workflow;
m_machine = make_unique<WorkflowMachine>(view);
}
Workflow::Workflow(BNWorkflow* workflow, Ref<Function> function)
{
- m_object = BNNewWorkflowReference(workflow);
+ m_object = workflow;
m_machine = make_unique<WorkflowMachine>(function);
}