From 7d596b3b3d505eaf33d7949185c6c858483c8186 Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Tue, 23 Apr 2019 15:44:22 +0000 Subject: [PATCH] [dsymutil] Fix use-after-free when sys::path::append grows the buffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359003 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/dsymutil/dsymutil.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/dsymutil/dsymutil.cpp b/tools/dsymutil/dsymutil.cpp index 32569846361..2e835e444c2 100644 --- a/tools/dsymutil/dsymutil.cpp +++ b/tools/dsymutil/dsymutil.cpp @@ -328,9 +328,9 @@ static Expected getOutputFileName(llvm::StringRef InputFile) { 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 -- 2.50.1