diff options
| author | Peter LaFosse <peter@vector35.com> | 2019-01-12 13:16:12 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2019-01-12 13:16:24 -0500 |
| commit | 22c2a49db23efa53b04a8e5587749affa716ce2d (patch) | |
| tree | 332d7392643c8c3709b850ce19116ce15d4640ce | |
| parent | 9e5ded10703110ff1af7d1efc0d39c95ed6f0568 (diff) | |
Fix memory leak when allocaing BNInstructionTextToken
| -rw-r--r-- | architecture.cpp | 5 | ||||
| -rw-r--r-- | datarenderer.cpp | 6 |
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; |
