From: Hans Wennborg Date: Mon, 25 Jan 2016 20:35:13 +0000 (+0000) Subject: Merging r257947: X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=11f818d8c60f5dc1bef681640b71c756bc72b168;p=clang Merging r257947: ------------------------------------------------------------------------ r257947 | joerg | 2016-01-15 14:29:34 -0800 (Fri, 15 Jan 2016) | 2 lines Avoid self-assignment of SmallString, trigger UB behavior down the road. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@258715 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index ea218d5403..de14425d36 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -290,9 +290,9 @@ static void SetInstallDir(SmallVectorImpl &argv, if (CanonicalPrefixes) llvm::sys::fs::make_absolute(InstalledPath); - InstalledPath = llvm::sys::path::parent_path(InstalledPath); - if (llvm::sys::fs::exists(InstalledPath.c_str())) - TheDriver.setInstalledDir(InstalledPath); + StringRef InstalledPathParent(llvm::sys::path::parent_path(InstalledPath)); + if (llvm::sys::fs::exists(InstalledPathParent)) + TheDriver.setInstalledDir(InstalledPathParent); } static int ExecuteCC1Tool(ArrayRef argv, StringRef Tool) {