From 0cef9a8554437a7ed7033198dffc5baa647d67e4 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 12 May 2021 14:37:41 +0200 Subject: [PATCH] AutoTest: Fix crash in gtest support If the parser processes a test with an empty test name it crashed QC. Change-Id: Ic377f609ecdd74724ee7a272be3d5b60f0101afa Reviewed-by: David Schulz --- src/plugins/autotest/gtest/gtestvisitors.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/autotest/gtest/gtestvisitors.cpp b/src/plugins/autotest/gtest/gtestvisitors.cpp index 9f622acb5b5..b3e36b67ca1 100644 --- a/src/plugins/autotest/gtest/gtestvisitors.cpp +++ b/src/plugins/autotest/gtest/gtestvisitors.cpp @@ -94,8 +94,12 @@ bool GTestVisitor::visit(CPlusPlus::FunctionDefinitionAST *ast) testCaseName.clear(); } } else { - const CPlusPlus::Argument *testSuiteNameArg = ast->symbol->argumentAt(0)->asArgument(); - const CPlusPlus::Argument *testCaseNameArg = ast->symbol->argumentAt(1)->asArgument(); + const CPlusPlus::Symbol *firstArg = ast->symbol->argumentAt(0); + const CPlusPlus::Symbol *secondArg = ast->symbol->argumentAt(1); + if (!firstArg || !secondArg) + return false; + const CPlusPlus::Argument *testSuiteNameArg = firstArg->asArgument(); + const CPlusPlus::Argument *testCaseNameArg = secondArg->asArgument(); if (testSuiteNameArg && testCaseNameArg) { testSuiteName = m_overview.prettyType(testSuiteNameArg->type()); testCaseName = m_overview.prettyType(testCaseNameArg->type());