qmake: Let evaluateFunction() return error for infinite recursion

Otherwise, it can happen that parsing goes on forever in cumulative
mode.

Task-number: QTCREATORBUG-17656
Change-Id: If69f2265ac7eee0d230bd77a9aa9500e97ebeff6
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Christian Kandeler 2019-06-18 11:23:03 +02:00
parent 1e21867baf
commit feb06decfe

View File

@ -1724,7 +1724,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateFunction(
if (m_valuemapStack.size() >= 100) { if (m_valuemapStack.size() >= 100) {
evalError(fL1S("Ran into infinite recursion (depth > 100).")); evalError(fL1S("Ran into infinite recursion (depth > 100)."));
vr = ReturnFalse; vr = ReturnError;
} else { } else {
m_valuemapStack.push(ProValueMap()); m_valuemapStack.push(ProValueMap());
m_locationStack.push(m_current); m_locationStack.push(m_current);