numeric.c: check zero division before modulo.

This commit is contained in:
Yukihiro "Matz" Matsumoto
2021-08-03 16:45:08 +09:00
parent caaa07f2da
commit 9b3b2a4c95
+1
View File
@@ -1118,6 +1118,7 @@ int_mod(mrb_state *mrb, mrb_value x)
a = mrb_integer(x);
if (mrb_integer_p(y) && a != MRB_INT_MIN && (b=mrb_integer(y)) != MRB_INT_MIN) {
if (b == 0) int_zerodiv(mrb);
mrb_int mod = a % b;
if ((a < 0) != (b < 0) && mod != 0) {
mod += b;