diff options
author | Sean Callanan <scallanan@apple.com> | 2011-08-19 18:23:06 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2011-08-19 18:23:06 +0000 |
commit | 40827c419075fafb18924c200df36f0482c44249 (patch) | |
tree | c2d434ebaa441a9bdfff399ec948a1533b1aa520 /lib/MC/MCDisassembler/EDToken.cpp | |
parent | 67b95f902a51b591b6178e370d23ffaca841275d (diff) |
Fixed a memory bug in the MCDisassembler where
MCParsedAsmOperand objects were being leaked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138053 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCDisassembler/EDToken.cpp')
-rw-r--r-- | lib/MC/MCDisassembler/EDToken.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/MC/MCDisassembler/EDToken.cpp b/lib/MC/MCDisassembler/EDToken.cpp index de770b41ef..edbe0e0082 100644 --- a/lib/MC/MCDisassembler/EDToken.cpp +++ b/lib/MC/MCDisassembler/EDToken.cpp @@ -93,8 +93,12 @@ int EDToken::tokenize(std::vector<EDToken*> &tokens, SmallVector<AsmToken, 10> asmTokens; if (disassembler.parseInst(parsedOperands, asmTokens, str)) + { + for (unsigned i = 0, e = parsedOperands.size(); i != e; ++i) + delete parsedOperands[i]; return -1; - + } + SmallVectorImpl<MCParsedAsmOperand*>::iterator operandIterator; unsigned int operandIndex; SmallVectorImpl<AsmToken>::iterator tokenIterator; |