summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-03-20 14:40:54 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-03-20 14:40:54 +0900
commit98821d2725e268692cdb322ed75db974e851e9f7 (patch)
tree490a421708679f5e8e3ddb9027782f9841521e12 /mrbgems
parentd3184e4a6d8b85a22dd46f4e2909492a0a08cab1 (diff)
downloadmruby-98821d2725e268692cdb322ed75db974e851e9f7.tar.gz
mruby-98821d2725e268692cdb322ed75db974e851e9f7.zip
random.c: fixed seed underflow bug.
`MRB_INT_MIN` does not have a corresponding positive value.
Diffstat (limited to 'mrbgems')
-rw-r--r--mrbgems/mruby-random/src/random.c3
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);
}
}