From ed56d56dabe79bdec59a177e296cea3c77766438 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 17 Dec 2014 11:14:14 +0900 Subject: avoid out-of-bounds access of irep->lv; ref #2671, fix #2675 allocation size of irep->iv is irep->nlocals-1. --- mrbgems/mruby-eval/src/eval.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index 57c214c5f..3165c3898 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -55,18 +55,18 @@ search_variable(mrb_state *mrb, mrb_sym vsym, int bnest) return 0; } -static int +static mrb_bool potential_upvar_p(struct mrb_locals *lv, uint16_t v, uint16_t nlocals) { int i; + if (v >= nlocals) return FALSE; /* skip arguments */ - for (i=0; i