summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-02-13 18:45:20 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-02-13 18:45:20 +0900
commitc2ddcd451724c9399014ab24a6d47815ed1a1c7d (patch)
tree45c6714d9076d11f0ac1bb7a45985f63efdad544 /src
parentf198530444f4b5ebfd011c3287114951c8553e5e (diff)
downloadmruby-c2ddcd451724c9399014ab24a6d47815ed1a1c7d.tar.gz
mruby-c2ddcd451724c9399014ab24a6d47815ed1a1c7d.zip
Should handle `break` from funcall(); fix #3434
This issue was reported by https://hackerone.com/d4nny
Diffstat (limited to 'src')
-rw-r--r--src/vm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index f2af6f950..b89b6d0c5 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1733,7 +1733,7 @@ RETRY_TRY_BLOCK:
acc = ci->acc;
mrb->c->stack = ci->stackent;
cipop(mrb);
- if (acc == CI_ACC_SKIP) {
+ if (acc == CI_ACC_SKIP || acc == CI_ACC_DIRECT) {
mrb->jmp = prev_jmp;
return v;
}