From 7d99830211ff50e1068dd1967a7abbe5f03db12f Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 1 Jul 2017 12:44:24 +0900 Subject: `super` may be called from a block; fix #3723 --- src/vm.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index 43663012e..93f2eceba 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1684,6 +1684,8 @@ RETRY_TRY_BLOCK: else { struct REnv *e = uvenv(mrb, lv-1); if (!e) goto L_NOSUPER; + if (MRB_ENV_STACK_LEN(e) <= m1+r+m2+1) + goto L_NOSUPER; stack = e->stack + 1; } if (r == 0) { -- cgit v1.2.3