diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2023-01-31 21:45:23 -0500 |
|---|---|---|
| committer | Alexander Taylor <alex@vector35.com> | 2023-02-08 11:53:38 -0500 |
| commit | c2247a35e97c96eba9cd4caf09b32b038625cc31 (patch) | |
| tree | d88022f286bd811667f88cc3926dada7b4ec5d31 /binaryviewtype.cpp | |
| parent | 0b752f36c9d3b6bcb51a05fdcf5b38633d38bdbd (diff) | |
Clean up possible early deletion issues in API callbacks
Diffstat (limited to 'binaryviewtype.cpp')
| -rw-r--r-- | binaryviewtype.cpp | 10 |
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) |
