diff options
| author | Peter LaFosse <peter@vector35.com> | 2018-12-19 10:44:45 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2018-12-19 10:44:45 -0500 |
| commit | f93fc67f3f18488882293e08b7ba76b1c7781cbf (patch) | |
| tree | 48d3bc7e5c150877737cb86876c65d9dcab554f6 | |
| parent | 10a89e67ab3f3129570382f3fa4c500e77d8dab6 (diff) | |
Don't free InstructionTextTokens in the core if they were alloced in the API
| -rw-r--r-- | architecture.cpp | 4 | ||||
| -rw-r--r-- | datarenderer.cpp | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/architecture.cpp b/architecture.cpp index ea32a09e..da0366cf 100644 --- a/architecture.cpp +++ b/architecture.cpp @@ -227,7 +227,9 @@ bool Architecture::GetInstructionTextCallback(void* ctxt, const uint8_t* data, u void Architecture::FreeInstructionTextCallback(BNInstructionTextToken* tokens, size_t count) { - BNFreeInstructionText(tokens, count); + for (size_t i = 0; i < count; i++) + BNFreeString(tokens[i].text); + delete[] tokens; } diff --git a/datarenderer.cpp b/datarenderer.cpp index fee457e8..bc33366e 100644 --- a/datarenderer.cpp +++ b/datarenderer.cpp @@ -112,7 +112,11 @@ vector<DisassemblyTextLine> DataRenderer::GetLinesForData(BinaryView* data, uint prefix.size(), width, &count, typeCtx, context.size()); delete[] typeCtx; - BNFreeInstructionText(prefixes, prefix.size()); + for (size_t i = 0; i < prefix.size(); i++) + BNFreeString(prefixes[i].text); + + delete[] prefixes; + vector<DisassemblyTextLine> result; result.reserve(count); for (size_t i = 0; i < count; i++) |
