random.c: fixed seed underflow bug.

`MRB_INT_MIN` does not have a corresponding positive value.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2021-03-20 14:40:54 +09:00
parent d3184e4a6d
commit 98821d2725
+3
View File
@@ -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);
}
}