OSDN Git Service

[dsymutil] Fix use-after-free when sys::path::append grows the buffer.
authorAdrian Prantl <aprantl@apple.com>
Tue, 23 Apr 2019 15:39:13 +0000 (15:39 +0000)
committerAdrian Prantl <aprantl@apple.com>
Tue, 23 Apr 2019 15:39:13 +0000 (15:39 +0000)
<rdar://problem/50117620>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359001 91177308-0d34-0410-b5e6-96231b3b80d8

tools/dsymutil/dsymutil.cpp

index 3256984..d14dff0 100644 (file)
@@ -328,7 +328,7 @@ static Expected<OutputLocation> getOutputFileName(llvm::StringRef InputFile) {
     return std::move(E);
 
   llvm::sys::path::append(Path, "Contents", "Resources");
-  StringRef ResourceDir = Path;
+  std::string ResourceDir = Path;
   llvm::sys::path::append(Path, "DWARF", llvm::sys::path::filename(DwarfFile));
   return OutputLocation(Path.str(), ResourceDir.str());
 }