diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-03-20 14:40:54 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-03-20 14:40:54 +0900 |
| commit | 98821d2725e268692cdb322ed75db974e851e9f7 (patch) | |
| tree | 490a421708679f5e8e3ddb9027782f9841521e12 | |
| parent | d3184e4a6d8b85a22dd46f4e2909492a0a08cab1 (diff) | |
| download | mruby-98821d2725e268692cdb322ed75db974e851e9f7.tar.gz mruby-98821d2725e268692cdb322ed75db974e851e9f7.zip | |
random.c: fixed seed underflow bug.
`MRB_INT_MIN` does not have a corresponding positive value.
| -rw-r--r-- | mrbgems/mruby-random/src/random.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c index 1fc42b854..67c6395d7 100644 --- a/mrbgems/mruby-random/src/random.c +++ b/mrbgems/mruby-random/src/random.c @@ -152,6 +152,9 @@ get_opt(mrb_state* mrb) arg = mrb_to_int(mrb, arg); i = mrb_integer(arg); if (i < 0) { + if (i == MRB_INT_MIN) { + mrb_raise(mrb, E_RANGE_ERROR, "integer underflow"); + } arg = mrb_fixnum_value(0 - i); } } |
