summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-03-29 17:28:32 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-03-29 17:28:32 +0900
commita963e29b671f4754bc1d735e62cf7935b244b05b (patch)
treed1b312c3d93eb6fac62698eb0b5c2c1f677fe64a /src/vm.c
parent3c2186f0505cf8f431f51341edd1b4d23c433d6f (diff)
downloadmruby-a963e29b671f4754bc1d735e62cf7935b244b05b.tar.gz
mruby-a963e29b671f4754bc1d735e62cf7935b244b05b.zip
src/vm.c: calling C function may raise global jumps; fix #5391
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index bb1047a30..5d4d74b81 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -780,6 +780,7 @@ mrb_yield_with_class(mrb_state *mrb, mrb_value b, mrb_int argc, const mrb_value
mrb->c->ci->stack[argc+1] = mrb_nil_value();
if (MRB_PROC_CFUNC_P(p)) {
+ ci->acc = CI_ACC_DIRECT;
val = MRB_PROC_CFUNC(p)(mrb, self);
cipop(mrb);
}