From c2247a35e97c96eba9cd4caf09b32b038625cc31 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Tue, 31 Jan 2023 21:45:23 -0500 Subject: Clean up possible early deletion issues in API callbacks --- binaryviewtype.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'binaryviewtype.cpp') 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 type(ctxt); Ref view = new BinaryView(BNNewViewReference(data)); Ref 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 type(ctxt); Ref view = new BinaryView(BNNewViewReference(data)); Ref 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 type(ctxt); Ref 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 type(ctxt); return type->IsDeprecated(); } BNSettings* BinaryViewType::GetSettingsCallback(void* ctxt, BNBinaryView* data) { - BinaryViewType* type = (BinaryViewType*)ctxt; + CallbackRef type(ctxt); Ref view = new BinaryView(BNNewViewReference(data)); Ref result = type->GetLoadSettingsForData(view); if (!result) -- cgit v1.3.1