From: Rafael Espindola Date: Wed, 27 Aug 2014 21:11:13 +0000 (+0000) Subject: Fix a double free in llvm::getBitcodeTargetTriple. X-Git-Tag: android-x86-7.1-r4~58084 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=aa9db69bb5d23d8110bbab6736a98d2c1db3effc;p=android-x86%2Fexternal-llvm.git Fix a double free in llvm::getBitcodeTargetTriple. Unfortunately this is only used by ld64, so no testcase, but should fix the darwin LTO bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216618 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index 1b88e5f5fa5..a614ec37cf6 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -3588,7 +3588,7 @@ ErrorOr llvm::parseBitcodeFile(MemoryBufferRef Buffer, std::string llvm::getBitcodeTargetTriple(MemoryBufferRef Buffer, LLVMContext &Context) { std::unique_ptr Buf = MemoryBuffer::getMemBuffer(Buffer, false); - auto R = llvm::make_unique(Buf.get(), Context); + auto R = llvm::make_unique(Buf.release(), Context); ErrorOr Triple = R->parseTriple(); if (Triple.getError()) return "";