summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-05-06 15:23:24 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2014-05-08 09:37:32 +0200
commitda85540971a77f468c32a69fcfcc30858aa57b88 (patch)
tree386749c515d595de16b65611491df3eb00702942
parentf1cfb5c515b5f6af221a1bc86d5df8557e0e638e (diff)
downloadqt-creator-da85540971a77f468c32a69fcfcc30858aa57b88.tar.gz
LinuxDeviceProcess: Quote environment variable values.
The current code breaks for values that contain spaces. Change-Id: Ia2a318dcac09a8d1c1ce368378a33c633f28bf49 Reviewed-by: hjk <hjk121@nokiamail.com>
-rw-r--r--src/plugins/remotelinux/linuxdeviceprocess.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/remotelinux/linuxdeviceprocess.cpp b/src/plugins/remotelinux/linuxdeviceprocess.cpp
index cf60d6a2e0..f0c8cec85e 100644
--- a/src/plugins/remotelinux/linuxdeviceprocess.cpp
+++ b/src/plugins/remotelinux/linuxdeviceprocess.cpp
@@ -61,7 +61,13 @@ QString LinuxDeviceProcess::fullCommandLine() const
fullCommandLine.append(QLatin1String("cd ")).append(quote(m_workingDir))
.append(QLatin1String(" && "));
}
- const QString envString = environment().toStringList().join(QLatin1String(" "));
+ QString envString;
+ for (auto it = environment().constBegin(); it != environment().constEnd(); ++it) {
+ if (!envString.isEmpty())
+ envString += QLatin1Char(' ');
+ envString.append(it.key()).append(QLatin1String("='")).append(it.value())
+ .append(QLatin1Char('\''));
+ }
if (!envString.isEmpty())
fullCommandLine.append(QLatin1Char(' ')).append(envString);
if (!fullCommandLine.isEmpty())