diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-05-06 15:23:24 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2014-05-08 09:37:32 +0200 |
commit | da85540971a77f468c32a69fcfcc30858aa57b88 (patch) | |
tree | 386749c515d595de16b65611491df3eb00702942 | |
parent | f1cfb5c515b5f6af221a1bc86d5df8557e0e638e (diff) | |
download | qt-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.cpp | 8 |
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()) |