summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-11-09 11:35:54 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-11-09 11:35:54 +0900
commit0df460892cc3035782226768e41299156ec9a37d (patch)
tree3c39c2fb4ce8d8723daab3d4826c7820f4d75cc1 /src
parent82249bb973f7ff84e7af5347d025e690808325a0 (diff)
downloadmruby-0df460892cc3035782226768e41299156ec9a37d.tar.gz
mruby-0df460892cc3035782226768e41299156ec9a37d.zip
Add range check before casting float to integer.
Diffstat (limited to 'src')
-rw-r--r--src/numeric.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/numeric.c b/src/numeric.c
index fcabc6d60..2c16b8a31 100644
--- a/src/numeric.c
+++ b/src/numeric.c
@@ -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);
}