From 34a8a57d81ce73beef95ff2865226fdc3e0134ed Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Date: Thu, 2 Sep 2010 17:55:42 +0200 Subject: [PATCH] fix crash when no command line options are passed to qmake the root cause is in the API of parsedProFile(): it discerns isNull() and isEmpty(), which is of course a time bomb. but in this case the right solution is not trying to parse the empty string in the first place. --- src/shared/proparser/profileevaluator.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp index bed1b6a5866..216a4478821 100644 --- a/src/shared/proparser/profileevaluator.cpp +++ b/src/shared/proparser/profileevaluator.cpp @@ -1273,6 +1273,7 @@ ProFileEvaluator::Private::VisitReturn ProFileEvaluator::Private::visitProFile( if (tgt.isEmpty()) tgt.append(ProString(QFileInfo(pro->fileName()).baseName(), NoHash)); + if (!m_cmdArgs.isEmpty()) { if (ProFile *pro = m_parser->parsedProFile( fL1S("(command line)"), false, m_cmdArgs.join(fL1S("\n")))) { m_locationStack.push(m_current); @@ -1280,6 +1281,7 @@ ProFileEvaluator::Private::VisitReturn ProFileEvaluator::Private::visitProFile( m_current = m_locationStack.pop(); pro->deref(); } + } } visitProBlock(pro, pro->tokPtr()); -- GitLab