From a66d86cfc15771bd62a045572970c567f7e78637 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 29 Aug 2020 18:42:09 +0900 Subject: Fix `mrb_ary_splat` to copy the array; fix #5067 --- src/array.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/array.c') diff --git a/src/array.c b/src/array.c index ef8588d31..020b661b4 100644 --- a/src/array.c +++ b/src/array.c @@ -1081,7 +1081,9 @@ mrb_ary_splat(mrb_state *mrb, mrb_value v) mrb_value a; if (mrb_array_p(v)) { - return v; + struct RArray *a = mrb_ary_ptr(v); + a = ary_dup(mrb, a); + return mrb_obj_value(a); } if (!mrb_respond_to(mrb, v, mrb_intern_lit(mrb, "to_a"))) { -- cgit v1.2.3