From f19de84e576de68c70a3aad5c2fd217271078b91 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 15 May 2017 09:00:56 +0300 Subject: [PATCH] VCS: Quote command-line arguments Change-Id: I49e776abe769b70d8003483215a4dbe31f60377b Reviewed-by: Tobias Hunger --- src/plugins/vcsbase/vcsoutputwindow.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/plugins/vcsbase/vcsoutputwindow.cpp b/src/plugins/vcsbase/vcsoutputwindow.cpp index 14a6f6bf635..8598a6c798b 100644 --- a/src/plugins/vcsbase/vcsoutputwindow.cpp +++ b/src/plugins/vcsbase/vcsoutputwindow.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -434,12 +435,12 @@ static inline QString formatArguments(const QStringList &args) if (i) str << ' '; if (arg.startsWith(QString::fromLatin1(passwordOptionC) + QLatin1Char('='))) { - str << "--password=********"; + str << Utils::QtcProcess::quoteArg("--password=********"); continue; } - str << arg; + str << Utils::QtcProcess::quoteArg(arg); if (arg == QLatin1String(passwordOptionC)) { - str << " ********"; + str << ' ' << Utils::QtcProcess::quoteArg("********"); i++; } } @@ -451,7 +452,7 @@ QString VcsOutputWindow::msgExecutionLogEntry(const QString &workingDir, const QStringList &arguments) { const QString args = formatArguments(arguments); - const QString nativeExecutable = executable.toUserOutput(); + const QString nativeExecutable = Utils::QtcProcess::quoteArg(executable.toUserOutput()); if (workingDir.isEmpty()) return tr("Running: %1 %2").arg(nativeExecutable, args) + QLatin1Char('\n'); return tr("Running in %1: %2 %3").