From 7b3379be20b627dee73ad8216fc0aaa6c818ac6c Mon Sep 17 00:00:00 2001 From: Sean Callanan Date: Fri, 19 Aug 2011 18:23:06 +0000 Subject: Fixed a memory bug in the MCDisassembler where MCParsedAsmOperand objects were being leaked. llvm-svn: 138053 --- llvm/lib/MC/MCDisassembler/EDToken.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'llvm/lib') diff --git a/llvm/lib/MC/MCDisassembler/EDToken.cpp b/llvm/lib/MC/MCDisassembler/EDToken.cpp index de770b41ef3..edbe0e0082a 100644 --- a/llvm/lib/MC/MCDisassembler/EDToken.cpp +++ b/llvm/lib/MC/MCDisassembler/EDToken.cpp @@ -93,8 +93,12 @@ int EDToken::tokenize(std::vector &tokens, SmallVector asmTokens; if (disassembler.parseInst(parsedOperands, asmTokens, str)) + { + for (unsigned i = 0, e = parsedOperands.size(); i != e; ++i) + delete parsedOperands[i]; return -1; - + } + SmallVectorImpl::iterator operandIterator; unsigned int operandIndex; SmallVectorImpl::iterator tokenIterator; -- cgit v1.2.3