summaryrefslogtreecommitdiff
path: root/datarenderer.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 /datarenderer.cpp
parent0b752f36c9d3b6bcb51a05fdcf5b38633d38bdbd (diff)
Clean up possible early deletion issues in API callbacks
Diffstat (limited to 'datarenderer.cpp')
-rw-r--r--datarenderer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/datarenderer.cpp b/datarenderer.cpp
index b6dd6ec9..8d1b16b4 100644
--- a/datarenderer.cpp
+++ b/datarenderer.cpp
@@ -39,7 +39,7 @@ bool DataRenderer::IsStructOfTypeName(Type* type, const string& name, vector<pai
bool DataRenderer::IsValidForDataCallback(
void* ctxt, BNBinaryView* view, uint64_t addr, BNType* type, BNTypeContext* typeCtx, size_t ctxCount)
{
- DataRenderer* renderer = (DataRenderer*)ctxt;
+ CallbackRef<DataRenderer> renderer(ctxt);
Ref<BinaryView> viewObj = new BinaryView(BNNewViewReference(view));
Ref<Type> typeObj = new Type(BNNewTypeReference(type));
vector<pair<Type*, size_t>> context;
@@ -55,7 +55,7 @@ BNDisassemblyTextLine* DataRenderer::GetLinesForDataCallback(void* ctxt, BNBinar
BNType* type, const BNInstructionTextToken* prefix, size_t prefixCount, size_t width, size_t* count,
BNTypeContext* typeCtx, size_t ctxCount)
{
- DataRenderer* renderer = (DataRenderer*)ctxt;
+ CallbackRef<DataRenderer> renderer(ctxt);
Ref<BinaryView> viewObj = new BinaryView(BNNewViewReference(view));
Ref<Type> typeObj = new Type(BNNewTypeReference(type));
vector<InstructionTextToken> prefixes = InstructionTextToken::ConvertInstructionTextTokenList(prefix, prefixCount);