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 | 7b3379be20b627dee73ad8216fc0aaa6c818ac6c (patch) | |
| tree | 886e23aca827032032a5e62ca0c0b58e18fe85a6 /llvm/lib | |
| parent | 181d2f92b5b1a91b9fd1225d17758ea0f322af6e (diff) | |
| download | bcm5719-llvm-7b3379be20b627dee73ad8216fc0aaa6c818ac6c.tar.gz bcm5719-llvm-7b3379be20b627dee73ad8216fc0aaa6c818ac6c.zip | |
Fixed a memory bug in the MCDisassembler where
MCParsedAsmOperand objects were being leaked.
llvm-svn: 138053
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/MC/MCDisassembler/EDToken.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
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<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; |

