From 9d0b038dda6739b17e124cd40fa1cc1753792094 Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Thu, 8 Mar 2018 14:53:18 +0100 Subject: [PATCH] ExpressionFunc.evaluatePowInt: guard against int underflow --- prism/src/parser/ast/ExpressionFunc.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/prism/src/parser/ast/ExpressionFunc.java b/prism/src/parser/ast/ExpressionFunc.java index 9367c77d..c399be0a 100644 --- a/prism/src/parser/ast/ExpressionFunc.java +++ b/prism/src/parser/ast/ExpressionFunc.java @@ -355,6 +355,9 @@ public class ExpressionFunc extends Expression // Check for overflow if (res > Integer.MAX_VALUE) throw new PrismLangException("Overflow evaluating integer power"); + // Check for underflow + if (res < Integer.MIN_VALUE) + throw new PrismLangException("Underflow evaluating integer power"); return (int) res; }