From bf225feb265af6d796721d3a7e2b6800d160d42d Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Wed, 4 Dec 2024 19:55:35 +0100 Subject: [PATCH] Fix an off by one in `rb_ary_resize` When setting len to X we only need to grow the array if len is bigger than capa. If they're equal we don't need to increase capacity. --- array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/array.c b/array.c index d4b9b87b25..bee0478e80 100644 --- a/array.c +++ b/array.c @@ -2304,7 +2304,7 @@ rb_ary_resize(VALUE ary, long len) rb_raise(rb_eIndexError, "index %ld too big", len); } if (len > olen) { - if (len >= ARY_CAPA(ary)) { + if (len > ARY_CAPA(ary)) { ary_double_capa(ary, len); } ary_mem_clear(ary, olen, len - olen);