From 195af525fba4dcf8900dbf7e67f0e8e3d62f9911 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 1 Apr 2017 12:42:11 +0900 Subject: Expand stack for method_missing; fix #3528 --- src/vm.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index 24a0a1db8..aa8b171bd 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1227,6 +1227,10 @@ RETRY_TRY_BLOCK: mid = missing; if (n != CALL_MAXARGS) { mrb_value blk = regs[bidx]; + + if (a+2 > irep->nregs) { + stack_extend(mrb, a+2, a+n+1); + } regs[a+1] = mrb_ary_new_from_values(mrb, n, regs+a+1); regs[a+2] = blk; n = CALL_MAXARGS; -- cgit v1.2.3