diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-11-09 11:35:54 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-11-09 11:35:54 +0900 |
| commit | 0df460892cc3035782226768e41299156ec9a37d (patch) | |
| tree | 3c39c2fb4ce8d8723daab3d4826c7820f4d75cc1 /src | |
| parent | 82249bb973f7ff84e7af5347d025e690808325a0 (diff) | |
| download | mruby-0df460892cc3035782226768e41299156ec9a37d.tar.gz mruby-0df460892cc3035782226768e41299156ec9a37d.zip | |
Add range check before casting float to integer.
Diffstat (limited to 'src')
| -rw-r--r-- | src/numeric.c | 2 |
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); } |
