[lld] r228260 - [ELF] Dont release ownership of MemoryBuffer.

Shankar Easwaran shankare at codeaurora.org
Wed Feb 4 18:00:03 PST 2015


Author: shankare
Date: Wed Feb  4 20:00:03 2015
New Revision: 228260

URL: http://llvm.org/viewvc/llvm-project?rev=228260&view=rev
Log:
[ELF] Dont release ownership of MemoryBuffer.

MemoryBuffer is being released too early. ELFFile owns MemoryBuffer.

Modified:
    lld/trunk/lib/ReaderWriter/ELF/DynamicFile.h
    lld/trunk/lib/ReaderWriter/ELF/ELFFile.h

Modified: lld/trunk/lib/ReaderWriter/ELF/DynamicFile.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/DynamicFile.h?rev=228260&r1=228259&r2=228260&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/DynamicFile.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/DynamicFile.h Wed Feb  4 20:00:03 2015
@@ -45,7 +45,7 @@ protected:
   std::error_code doParse() override {
     std::error_code ec;
     _objFile.reset(
-        new llvm::object::ELFFile<ELFT>(_mb.release()->getBuffer(), ec));
+        new llvm::object::ELFFile<ELFT>(_mb->getBuffer(), ec));
     if (ec)
       return ec;
 

Modified: lld/trunk/lib/ReaderWriter/ELF/ELFFile.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ELFFile.h?rev=228260&r1=228259&r2=228260&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ELFFile.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ELFFile.h Wed Feb  4 20:00:03 2015
@@ -420,7 +420,7 @@ ELFFile<ELFT>::create(std::unique_ptr<Me
 template <class ELFT>
 std::error_code ELFFile<ELFT>::doParse() {
   std::error_code ec;
-  _objFile.reset(new llvm::object::ELFFile<ELFT>(_mb.release()->getBuffer(), ec));
+  _objFile.reset(new llvm::object::ELFFile<ELFT>(_mb->getBuffer(), ec));
   if (ec)
     return ec;
 





More information about the llvm-commits mailing list