mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
NumericEvaluator: return false for invalid expressions
Clearing bClError flag in NumericEvaluator::parseOk() made the expression look valid, even if the flag has been set for a previous token. Now it is cleared before an expression is parsed and verified after parser finishes. Fixes: lp:1756995 * https://bugs.launchpad.net/kicad/+bug/1756995
This commit is contained in:
parent
7b4a8d7eb5
commit
dfd2a8fc48
@ -121,7 +121,6 @@ NumericEvaluator :: parseError(const char* s)
|
||||
void
|
||||
NumericEvaluator :: parseOk()
|
||||
{
|
||||
bClError = false;
|
||||
bClParseFinished = true;
|
||||
}
|
||||
|
||||
@ -150,6 +149,7 @@ NumericEvaluator :: process(const char* s)
|
||||
newString(s);
|
||||
|
||||
if (pClParser == nullptr) init();
|
||||
bClError = false;
|
||||
bClParseFinished = false;
|
||||
|
||||
Token tok;
|
||||
@ -320,6 +320,7 @@ NumericEvaluator :: getToken()
|
||||
case ')' : retval.token = PARENR; break;
|
||||
case '=' : retval.token = ASSIGN; break;
|
||||
case ';' : retval.token = SEMCOL; break;
|
||||
default: bClError = true; break; /* invalid character */
|
||||
}
|
||||
clToken.pos++;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user