[llvm] r359003 - [dsymutil] Fix use-after-free when sys::path::append grows the buffer.
Adrian Prantl via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 23 08:44:23 PDT 2019
Author: adrian
Date: Tue Apr 23 08:44:22 2019
New Revision: 359003
URL: http://llvm.org/viewvc/llvm-project?rev=359003&view=rev
Log:
[dsymutil] Fix use-after-free when sys::path::append grows the buffer.
<rdar://problem/50117620>
Modified:
llvm/trunk/tools/dsymutil/dsymutil.cpp
Modified: llvm/trunk/tools/dsymutil/dsymutil.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/dsymutil/dsymutil.cpp?rev=359003&r1=359002&r2=359003&view=diff
==============================================================================
--- llvm/trunk/tools/dsymutil/dsymutil.cpp (original)
+++ llvm/trunk/tools/dsymutil/dsymutil.cpp Tue Apr 23 08:44:22 2019
@@ -328,9 +328,9 @@ static Expected<OutputLocation> getOutpu
return std::move(E);
llvm::sys::path::append(Path, "Contents", "Resources");
- StringRef ResourceDir = Path;
+ std::string ResourceDir = Path.str();
llvm::sys::path::append(Path, "DWARF", llvm::sys::path::filename(DwarfFile));
- return OutputLocation(Path.str(), ResourceDir.str());
+ return OutputLocation(Path.str(), ResourceDir);
}
/// Parses the command line options into the LinkOptions struct and performs
More information about the llvm-commits
mailing list