aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2015-04-15 11:05:03 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-04-15 16:21:31 +0000
commitbd716745590916b059e39ec9267ee4d038c00f77 (patch)
tree79cd7d993d7eab3ad12195c6bf7602f2a7adbb99 /src/main/java
parent2e78d6108289de09fb68d3ebb0adfd7f7f372bb6 (diff)
Catch modulo by 0 errors
-- MOS_MIGRATED_REVID=91181886
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
index aa97af96cf..ac47b63731 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
@@ -187,6 +187,9 @@ public final class BinaryOperatorExpression extends Expression {
case PERCENT: {
// int % int
if (lval instanceof Integer && rval instanceof Integer) {
+ if (rval.equals(0)) {
+ throw new EvalException(getLocation(), "integer modulo by zero");
+ }
return ((Integer) lval).intValue() % ((Integer) rval).intValue();
}