summaryrefslogtreecommitdiffstats
path: root/clang/tools/driver/driver.cpp
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2016-01-15 22:29:34 +0000
committerJoerg Sonnenberger <joerg@bec.de>2016-01-15 22:29:34 +0000
commit9db01aaf78c97f8822ef41610c71061abcb07339 (patch)
tree25e74aa81dda01784baa9fc287f0f309cab12bcb /clang/tools/driver/driver.cpp
parentfa0b4b271a2e91204e4a2198713fd10730d72f7d (diff)
downloadbcm5719-llvm-9db01aaf78c97f8822ef41610c71061abcb07339.tar.gz
bcm5719-llvm-9db01aaf78c97f8822ef41610c71061abcb07339.zip
Avoid self-assignment of SmallString, trigger UB behavior down the road.
llvm-svn: 257947
Diffstat (limited to 'clang/tools/driver/driver.cpp')
-rw-r--r--clang/tools/driver/driver.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp
index ea218d5403d..de14425d361 100644
--- a/clang/tools/driver/driver.cpp
+++ b/clang/tools/driver/driver.cpp
@@ -290,9 +290,9 @@ static void SetInstallDir(SmallVectorImpl<const char *> &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<const char *> argv, StringRef Tool) {
OpenPOWER on IntegriCloud