llvm-uselistorder: Fix memory leak from r214125
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 30 Jul 2014 16:50:22 +0000 (16:50 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 30 Jul 2014 16:50:22 +0000 (16:50 +0000)
Turns out `parseBitcodeFile()` does *not* take ownership of the buffer.
This was already clear in the header docs, but I obviously didn't read
them (having noticed that it gets stored in a `unique_ptr<>`).

llvm-svn: 214313

llvm/tools/llvm-uselistorder/llvm-uselistorder.cpp

index c988bbd..b054161 100644 (file)
@@ -137,7 +137,7 @@ std::unique_ptr<Module> TempFile::readBitcode(LLVMContext &Context) const {
   }
 
   std::unique_ptr<MemoryBuffer> Buffer = std::move(BufferOr.get());
-  ErrorOr<Module *> ModuleOr = parseBitcodeFile(Buffer.release(), Context);
+  ErrorOr<Module *> ModuleOr = parseBitcodeFile(Buffer.get(), Context);
   if (!ModuleOr) {
     DEBUG(dbgs() << "error: " << ModuleOr.getError().message() << "\n");
     return nullptr;