summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--architecture.cpp5
-rw-r--r--datarenderer.cpp6
2 files changed, 10 insertions, 1 deletions
diff --git a/architecture.cpp b/architecture.cpp
index da0366cf..f7ec2d01 100644
--- a/architecture.cpp
+++ b/architecture.cpp
@@ -228,7 +228,12 @@ bool Architecture::GetInstructionTextCallback(void* ctxt, const uint8_t* data, u
void Architecture::FreeInstructionTextCallback(BNInstructionTextToken* tokens, size_t count)
{
for (size_t i = 0; i < count; i++)
+ {
BNFreeString(tokens[i].text);
+ for (size_t j = 0; j < tokens[j].namesCount; j++)
+ BNFreeString(tokens[i].typeNames[j]);
+ delete[] tokens[i].typeNames;
+ }
delete[] tokens;
}
diff --git a/datarenderer.cpp b/datarenderer.cpp
index bc33366e..c0536a6a 100644
--- a/datarenderer.cpp
+++ b/datarenderer.cpp
@@ -113,8 +113,12 @@ vector<DisassemblyTextLine> DataRenderer::GetLinesForData(BinaryView* data, uint
delete[] typeCtx;
for (size_t i = 0; i < prefix.size(); i++)
+ {
BNFreeString(prefixes[i].text);
-
+ for (size_t j = 0; j < prefixes[j].namesCount; j++)
+ BNFreeString(prefixes[i].typeNames[j]);
+ delete[] prefixes[i].typeNames;
+ }
delete[] prefixes;
vector<DisassemblyTextLine> result;