From 98821d2725e268692cdb322ed75db974e851e9f7 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 20 Mar 2021 14:40:54 +0900 Subject: random.c: fixed seed underflow bug. `MRB_INT_MIN` does not have a corresponding positive value. --- mrbgems/mruby-random/src/random.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mrbgems') 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); } } -- cgit v1.2.3