summaryrefslogtreecommitdiff
path: root/binaryviewtype.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2023-01-31 21:45:23 -0500
committerAlexander Taylor <alex@vector35.com>2023-02-08 11:53:38 -0500
commitc2247a35e97c96eba9cd4caf09b32b038625cc31 (patch)
treed88022f286bd811667f88cc3926dada7b4ec5d31 /binaryviewtype.cpp
parent0b752f36c9d3b6bcb51a05fdcf5b38633d38bdbd (diff)
Clean up possible early deletion issues in API callbacks
Diffstat (limited to 'binaryviewtype.cpp')
-rw-r--r--binaryviewtype.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/binaryviewtype.cpp b/binaryviewtype.cpp
index 8ab09aae..bf67c04a 100644
--- a/binaryviewtype.cpp
+++ b/binaryviewtype.cpp
@@ -26,7 +26,7 @@ using namespace std;
BNBinaryView* BinaryViewType::CreateCallback(void* ctxt, BNBinaryView* data)
{
- BinaryViewType* type = (BinaryViewType*)ctxt;
+ CallbackRef<BinaryViewType> type(ctxt);
Ref<BinaryView> view = new BinaryView(BNNewViewReference(data));
Ref<BinaryView> result = type->Create(view);
if (!result)
@@ -37,7 +37,7 @@ BNBinaryView* BinaryViewType::CreateCallback(void* ctxt, BNBinaryView* data)
BNBinaryView* BinaryViewType::ParseCallback(void* ctxt, BNBinaryView* data)
{
- BinaryViewType* type = (BinaryViewType*)ctxt;
+ CallbackRef<BinaryViewType> type(ctxt);
Ref<BinaryView> view = new BinaryView(BNNewViewReference(data));
Ref<BinaryView> result = type->Parse(view);
if (!result)
@@ -48,7 +48,7 @@ BNBinaryView* BinaryViewType::ParseCallback(void* ctxt, BNBinaryView* data)
bool BinaryViewType::IsValidCallback(void* ctxt, BNBinaryView* data)
{
- BinaryViewType* type = (BinaryViewType*)ctxt;
+ CallbackRef<BinaryViewType> type(ctxt);
Ref<BinaryView> view = new BinaryView(BNNewViewReference(data));
return type->IsTypeValidForData(view);
}
@@ -56,14 +56,14 @@ bool BinaryViewType::IsValidCallback(void* ctxt, BNBinaryView* data)
bool BinaryViewType::IsDeprecatedCallback(void* ctxt)
{
- BinaryViewType* type = (BinaryViewType*)ctxt;
+ CallbackRef<BinaryViewType> type(ctxt);
return type->IsDeprecated();
}
BNSettings* BinaryViewType::GetSettingsCallback(void* ctxt, BNBinaryView* data)
{
- BinaryViewType* type = (BinaryViewType*)ctxt;
+ CallbackRef<BinaryViewType> type(ctxt);
Ref<BinaryView> view = new BinaryView(BNNewViewReference(data));
Ref<Settings> result = type->GetLoadSettingsForData(view);
if (!result)