From 7e1df10517f7d9163b0e20c17961b82754de2907 Mon Sep 17 00:00:00 2001 From: Kazuki Tsujimoto Date: Fri, 4 May 2012 18:34:13 +0900 Subject: Fix SEGV when returning from terminated method --- src/vm.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index 9915200de..543b56c19 100644 --- a/src/vm.c +++ b/src/vm.c @@ -992,6 +992,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) case OP_R_RETURN: if (proc->env->cioff < 0) { localjump_error(mrb, "return"); + goto L_RAISE; } ci = mrb->ci = mrb->cibase + proc->env->cioff; break; -- cgit v1.2.3