From e18001ad89055ec2abd5be4abd90e06da27e3411 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 15 May 2018 07:28:25 +0200 Subject: [PATCH] AutoTest: Prevent possible nullptr access ... by making sure TestConfiguration::outputReader always return a valid output reader. Change-Id: I6606b1fcfb632d0fb9a68dc0b4a149f74f539100 Reviewed-by: Christian Stenger --- src/plugins/autotest/qtest/qttestconfiguration.cpp | 14 ++++---------- .../autotest/quick/quicktestconfiguration.cpp | 14 +++++--------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/plugins/autotest/qtest/qttestconfiguration.cpp b/src/plugins/autotest/qtest/qttestconfiguration.cpp index b79d3a72b4a..a593fded5b5 100644 --- a/src/plugins/autotest/qtest/qttestconfiguration.cpp +++ b/src/plugins/autotest/qtest/qttestconfiguration.cpp @@ -42,16 +42,10 @@ TestOutputReader *QtTestConfiguration::outputReader(const QFutureInterface(manager->settingsForTestFramework(id)); - if (qtSettings.isNull()) - return nullptr; - - if (qtSettings->useXMLOutput) { - return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), - QtTestOutputReader::XML, TestType::QtTest); - } else { - return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), - QtTestOutputReader::PlainText, TestType::QtTest); - } + const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput + ? QtTestOutputReader::XML + : QtTestOutputReader::PlainText; + return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), mode, TestType::QtTest); } QStringList QtTestConfiguration::argumentsForTestRunner(QStringList *omitted) const diff --git a/src/plugins/autotest/quick/quicktestconfiguration.cpp b/src/plugins/autotest/quick/quicktestconfiguration.cpp index 9503e4cbb04..47b77480396 100644 --- a/src/plugins/autotest/quick/quicktestconfiguration.cpp +++ b/src/plugins/autotest/quick/quicktestconfiguration.cpp @@ -47,15 +47,11 @@ TestOutputReader *QuickTestConfiguration::outputReader(const QFutureInterface(manager->settingsForTestFramework(id)); - if (qtSettings.isNull()) - return nullptr; - if (qtSettings->useXMLOutput) { - return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), - QtTestOutputReader::XML, TestType::QuickTest); - } else { - return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), - QtTestOutputReader::PlainText, TestType::QuickTest); - } + const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput + ? QtTestOutputReader::XML + : QtTestOutputReader::PlainText; + return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), + mode, TestType::QuickTest); } QStringList QuickTestConfiguration::argumentsForTestRunner(QStringList *omitted) const