From a639a39883f95365e8f336cd4770c06f3d9aa87a Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 13 Jan 2021 09:17:20 +0900 Subject: Rational denominator should not be zero. --- mrbgems/mruby-rational/src/rational.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mrbgems/mruby-rational/src/rational.c b/mrbgems/mruby-rational/src/rational.c index 5e25bfb99..c63769a31 100644 --- a/mrbgems/mruby-rational/src/rational.c +++ b/mrbgems/mruby-rational/src/rational.c @@ -135,6 +135,9 @@ rational_new_i(mrb_state *mrb, mrb_int n, mrb_int d) { mrb_int a; + if (d == 0) { + mrb_raise(mrb, E_ZERODIV_ERROR, "divided by 0 in rational"); + } a = i_gcd(n, d); if ((n == MRB_INT_MIN || d == MRB_INT_MIN) && a == -1) { mrb_raise(mrb, E_RANGE_ERROR, "integer overflow in rational"); -- cgit v1.2.3