浏览代码

Improved div by zero checks. Resolves #527

Brucey 5 年之前
父节点
当前提交
7a657d4501
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      expr.bmx

+ 4 - 0
expr.bmx

@@ -1946,6 +1946,10 @@ Type TBinaryMathExpr Extends TBinaryExpr
 		End If
 
 		If TConstExpr( lhs ) And TConstExpr( rhs ) Return EvalConst()
+		
+		If TConstExpr( rhs ) And (op = "/" Or op = "mod") And TIntegralType(rhs.exprType) And Not Long(rhs.Eval()) Then
+			Err "Integer division by zero"
+		End If
 
 		Return Self
 	End Method