Add range check before casting float to integer.

This commit is contained in:
Yukihiro "Matz" Matsumoto
2020-11-09 11:35:54 +09:00
parent 82249bb973
commit 0df460892c
+2
View File
@@ -853,6 +853,8 @@ flo_round(mrb_state *mrb, mrb_value num)
if (!isfinite(number)) return num;
return mrb_float_value(mrb, number);
}
if (!FIXABLE_FLOAT(number))
return mrb_float_value(mrb, number);
return mrb_int_value(mrb, (mrb_int)number);
}