From 1508da474090fd921c9e533ca5c080edc6ff1615 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 1 Mar 2022 15:04:08 +0900 Subject: [PATCH] array.c: check integer overflow in mrb_ary_set(). --- src/array.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/array.c b/src/array.c index f8b56bfa2..0f325bab0 100644 --- a/src/array.c +++ b/src/array.c @@ -716,6 +716,9 @@ mrb_ary_set(mrb_state *mrb, mrb_value ary, mrb_int n, mrb_value val) mrb_raisef(mrb, E_INDEX_ERROR, "index %i out of array", n - len); } } + if (n == MRB_INT_MAX) { + mrb_raise(mrb, E_INDEX_ERROR, "index too big"); + } if (len <= n) { if (ARY_CAPA(a) <= n) ary_expand_capa(mrb, a, n + 1);