From efef4541aa97460b80618af369879881b376cc30 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 25 Jan 2021 15:43:46 +0900 Subject: Fix a bug for the case `frexp()` return `Infinity`. --- mrbgems/mruby-rational/src/rational.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mrbgems/mruby-rational/src/rational.c b/mrbgems/mruby-rational/src/rational.c index c5df52a08..0d317cc0f 100644 --- a/mrbgems/mruby-rational/src/rational.c +++ b/mrbgems/mruby-rational/src/rational.c @@ -183,6 +183,7 @@ static void float_decode_internal(mrb_state *mrb, mrb_float f, mrb_float *rf, int *n) { f = (mrb_float)frexp_rat(f, n); + if (isinf(f)) rat_overflow(mrb); f = (mrb_float)ldexp_rat(f, RAT_MANT_DIG); *n -= RAT_MANT_DIG; *rf = f; -- cgit v1.2.3