aboutsummaryrefslogtreecommitdiffstats
path: root/src/app
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2016-09-07 14:52:19 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2016-09-08 15:38:22 +0000
commitfc98027c20cdf65121bc1bf572f7e76a7e449142 (patch)
treec386526bbffcfebc3d6d2e7ed4a3dc263633db98 /src/app
parentb8f1b85ade3fcdcd356d220309588e377c59ef95 (diff)
Fix undefined behavior in command line parser
Change-Id: Ifa6b8b67f897d5405f7ec118ddf76831077ccfed Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src/app')
-rw-r--r--src/app/qbs/parser/commandlineoption.cpp1
-rw-r--r--src/app/qbs/parser/commandlineoption.h2
-rw-r--r--src/app/qbs/parser/commandlineparser.cpp2
3 files changed, 2 insertions, 3 deletions
diff --git a/src/app/qbs/parser/commandlineoption.cpp b/src/app/qbs/parser/commandlineoption.cpp
index 3ad60e292..19c7916c7 100644
--- a/src/app/qbs/parser/commandlineoption.cpp
+++ b/src/app/qbs/parser/commandlineoption.cpp
@@ -596,7 +596,6 @@ void SettingsDirOption::doParse(const QString &representation, QStringList &inpu
}
CommandEchoModeOption::CommandEchoModeOption()
- : m_echoMode(static_cast<CommandEchoMode>(-1))
{
}
diff --git a/src/app/qbs/parser/commandlineoption.h b/src/app/qbs/parser/commandlineoption.h
index e27ef9518..e660860ef 100644
--- a/src/app/qbs/parser/commandlineoption.h
+++ b/src/app/qbs/parser/commandlineoption.h
@@ -363,7 +363,7 @@ public:
private:
void doParse(const QString &representation, QStringList &input);
- CommandEchoMode m_echoMode;
+ CommandEchoMode m_echoMode = CommandEchoModeInvalid;
};
class SettingsDirOption : public CommandLineOption
diff --git a/src/app/qbs/parser/commandlineparser.cpp b/src/app/qbs/parser/commandlineparser.cpp
index d1ab5d176..b41f7d749 100644
--- a/src/app/qbs/parser/commandlineparser.cpp
+++ b/src/app/qbs/parser/commandlineparser.cpp
@@ -628,7 +628,7 @@ CommandEchoMode CommandLineParser::CommandLineParserPrivate::echoMode() const
if (command->type() == GenerateCommandType)
return CommandEchoModeSilent;
- if (optionPool.commandEchoModeOption()->commandEchoMode() >= 0)
+ if (optionPool.commandEchoModeOption()->commandEchoMode() < CommandEchoModeInvalid)
return optionPool.commandEchoModeOption()->commandEchoMode();
return defaultCommandEchoMode();