From 7bf37d790445fad02d341b91f95f75dbf3278317 Mon Sep 17 00:00:00 2001 From: Sean Callanan Date: Thu, 27 Oct 2011 22:16:42 +0000 Subject: Fixed a leak in the LLVM disassembler where the InstructionLLVM class dropped its instruction handle on the floor instead of releasing it correctly. llvm-svn: 143156 --- lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp') diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp index 97831eaffa6..27b42316dab 100644 --- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp +++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.cpp @@ -80,12 +80,18 @@ InstructionLLVM::InstructionLLVM (const Address &addr, llvm::Triple::ArchType arch_type) : Instruction (addr, addr_class), m_disassembler (disassembler), - m_arch_type (arch_type) + m_arch_type (arch_type), + m_inst (NULL) { } InstructionLLVM::~InstructionLLVM() { + if (m_inst) + { + EDReleaseInst(m_inst); + m_inst = NULL; + } } static void -- cgit v1.2.3