random.c: fixed seed underflow bug.

`MRB_INT_MIN` does not have a corresponding positive value.
parent d3184e4a
......@@ -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);
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment