From 4025361513068463390900635313910200542556 Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Tue, 14 Nov 2023 18:35:38 -0500 Subject: Fix a number of leaks and bad uses of free in the api See https://github.com/Vector35/binaryninja-api/issues/4751 --- datarenderer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'datarenderer.cpp') diff --git a/datarenderer.cpp b/datarenderer.cpp index 40c64d66..a2ed1dae 100644 --- a/datarenderer.cpp +++ b/datarenderer.cpp @@ -17,6 +17,7 @@ DataRenderer::DataRenderer() renderer.freeObject = FreeCallback; renderer.isValidForData = IsValidForDataCallback; renderer.getLinesForData = GetLinesForDataCallback; + renderer.freeLines = FreeLinesCallback; AddRefForRegistration(); m_object = BNCreateDataRenderer(&renderer); } @@ -106,6 +107,12 @@ void DataRenderer::FreeCallback(void* ctxt) } +void DataRenderer::FreeLinesCallback(void* ctxt, BNDisassemblyTextLine* lines, size_t count) +{ + delete[] lines; +} + + bool DataRenderer::IsValidForData(BinaryView* data, uint64_t addr, Type* type, vector>& context) { BNTypeContext* typeCtx = new BNTypeContext[context.size()]; -- cgit v1.3.1