summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'array.c')
-rw-r--r--array.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/array.c b/array.c
index f1919fd1fe..6b2c6b2945 100644
--- a/array.c
+++ b/array.c
@@ -4596,8 +4596,7 @@ rb_ary_sample(int argc, VALUE *argv, VALUE ary)
});
}
else {
- result = rb_ary_subseq(ary, 0, len);
- rb_ary_modify(result);
+ result = rb_ary_dup(ary);
RBASIC_CLEAR_CLASS(result);
RB_GC_GUARD(ary);
RARRAY_PTR_USE(result, ptr_result, {