[ExpressionLanguage][Node][BinaryNode] Process division by zero

This commit is contained in:
Ivan 2019-12-08 11:15:22 +03:00 committed by Nicolas Grekas
parent a054d88830
commit 02ab72ab30
2 changed files with 10 additions and 1 deletions

View File

@ -147,8 +147,16 @@ class BinaryNode extends Node
case '*':
return $left * $right;
case '/':
if (0 == $right) {
throw new \DivisionByZeroError('Division by zero');
}
return $left / $right;
case '%':
if (0 == $right) {
throw new \DivisionByZeroError('Modulo by zero');
}
return $left % $right;
case 'matches':
return preg_match($right, $left);

View File

@ -17,7 +17,8 @@
],
"require": {
"php": "^5.5.9|>=7.0.8",
"symfony/cache": "~3.1|~4.0"
"symfony/cache": "~3.1|~4.0",
"symfony/polyfill-php70": "~1.6"
},
"autoload": {
"psr-4": { "Symfony\\Component\\ExpressionLanguage\\": "" },