From d895861a3084db3d979ba8dfbfa4af8df5e1a42f Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 25 Jan 2018 12:30:10 +0900 Subject: Check `arena_idx` before accessing; fix #3934 --- src/error.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/error.c b/src/error.c index 1b24f3065..5445b51bf 100644 --- a/src/error.c +++ b/src/error.c @@ -229,7 +229,8 @@ mrb_exc_set(mrb_state *mrb, mrb_value exc) } else { mrb->exc = mrb_obj_ptr(exc); - if ((struct RBasic*)mrb->exc == mrb->gc.arena[mrb->gc.arena_idx-1]) { + if (mrb->gc.arena_idx > 0 && + (struct RBasic*)mrb->exc == mrb->gc.arena[mrb->gc.arena_idx-1]) { mrb->gc.arena_idx--; } if (!mrb->gc.out_of_memory) { -- cgit v1.2.3