summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--datarenderer.cpp5
-rw-r--r--languagerepresentation.cpp7
2 files changed, 11 insertions, 1 deletions
diff --git a/datarenderer.cpp b/datarenderer.cpp
index 4e4a3346..524c4a76 100644
--- a/datarenderer.cpp
+++ b/datarenderer.cpp
@@ -110,6 +110,11 @@ void DataRenderer::FreeCallback(void* ctxt)
void DataRenderer::FreeLinesCallback(void* ctxt, BNDisassemblyTextLine* lines, size_t count)
{
+ for (size_t i = 0; i < count; i++)
+ {
+ InstructionTextToken::FreeInstructionTextTokenList(lines[i].tokens, lines[i].count);
+ Tag::FreeTagList(lines[i].tags, lines[i].tagCount);
+ }
delete[] lines;
}
diff --git a/languagerepresentation.cpp b/languagerepresentation.cpp
index 6e3bf01b..0930c0b8 100644
--- a/languagerepresentation.cpp
+++ b/languagerepresentation.cpp
@@ -387,8 +387,13 @@ BNDisassemblyTextLine* LanguageRepresentationFunctionType::GetFunctionTypeTokens
}
-void LanguageRepresentationFunctionType::FreeLinesCallback(void*, BNDisassemblyTextLine* lines, size_t)
+void LanguageRepresentationFunctionType::FreeLinesCallback(void*, BNDisassemblyTextLine* lines, size_t count)
{
+ for (size_t i = 0; i < count; i++)
+ {
+ InstructionTextToken::FreeInstructionTextTokenList(lines[i].tokens, lines[i].count);
+ Tag::FreeTagList(lines[i].tags, lines[i].tagCount);
+ }
delete[] lines;
}