Merge pull request #6261 from leviongit/range/to_a

fix: `to_a` integer ranges with `begin > end` failing
This commit is contained in:
Yukihiro "Matz" Matsumoto
2024-05-09 17:07:51 +09:00
committed by GitHub
+4
View File
@@ -358,6 +358,10 @@ range_num_to_a(mrb_state *mrb, mrb_value range)
if (mrb_integer_p(end)) {
mrb_int a = mrb_integer(beg);
mrb_int b = mrb_integer(end);
if (a > b) {
return mrb_ary_new_capa(mrb, 0);
}
mrb_int len;
if (mrb_int_sub_overflow(b, a, &len)) {