diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index 10cf45072c2..550ca4f13fa 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -330,10 +330,10 @@ static void DumpSymbolNamesFromFile(std::string &Filename) { OwningPtr child; if (error_code ec = i->getAsBinary(child)) { // Try opening it as a bitcode file. - MemoryBuffer *buff = i->getBuffer(); + OwningPtr buff(i->getBuffer()); Module *Result = 0; if (buff) - Result = ParseBitcodeFile(buff, Context, &ErrorMessage); + Result = ParseBitcodeFile(buff.get(), Context, &ErrorMessage); if (Result) { DumpSymbolNamesFromModule(Result);