From c8538be4718b809994b49ee19f0a4b84249d5adf Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 19 Mar 2018 15:11:41 +0900 Subject: Needed to set `ci->proc` in `OP_SUPER`; fix #3966 --- src/vm.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/vm.c') diff --git a/src/vm.c b/src/vm.c index 330bcd024..274eee253 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1662,6 +1662,9 @@ RETRY_TRY_BLOCK: if (MRB_METHOD_CFUNC_P(m)) { mrb_value v; ci->nregs = (argc < 0) ? 3 : n+2; + if (MRB_METHOD_PROC_P(m)) { + ci->proc = MRB_METHOD_PROC(m); + } v = MRB_METHOD_CFUNC(m)(mrb, recv); mrb_gc_arena_restore(mrb, ai); if (mrb->exc) goto L_RAISE; -- cgit v1.2.3