]> git.siccegge.de Git - frida/frida.git/blobdiff - src/disassembler/llvm/LLVMDisassembler.cxx
Avoid memory leak
[frida/frida.git] / src / disassembler / llvm / LLVMDisassembler.cxx
index 3494b79bd8a370814d35eba28fec53db0e1543d6..7bce1cf6ab2107d4ff9d237149919769b8431a0f 100644 (file)
@@ -110,6 +110,16 @@ LLVMDisassembler::LLVMDisassembler(const std::string& filename)
     disassemble();
 }
 
+LLVMDisassembler::~LLVMDisassembler() {
+       std::for_each(functions.begin(), functions.end(),
+                                 [](std::pair<uint64_t,LLVMFunction*> it) {
+                                         delete it.second;
+                                 });
+       std::for_each(blocks.begin(), blocks.end(),
+                                 [](std::pair<uint64_t, LLVMBasicBlock*> it) {
+                                         delete it.second;
+                                 });
+}
 
 void LLVMDisassembler::disassemble() {
     std::stack<LLVMFunction*> remaining_functions;