From e8a4e4262a425d9e5e8e19c40bf987d491f73053 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 21 Jun 2017 17:59:14 +0900 Subject: Add write barrier to protect proc reference from fiber; fix #3719 --- mrbgems/mruby-fiber/src/fiber.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c index 8a6146dbe..0a6d92f67 100644 --- a/mrbgems/mruby-fiber/src/fiber.c +++ b/mrbgems/mruby-fiber/src/fiber.c @@ -125,6 +125,7 @@ fiber_init(mrb_state *mrb, mrb_value self) ci = c->ci; ci->target_class = p->target_class; ci->proc = p; + mrb_field_write_barrier(mrb, (struct RBasic*)mrb_obj_ptr(self), (struct RBasic*)p); ci->pc = p->body.irep->iseq; ci->nregs = p->body.irep->nregs; ci[1] = ci[0]; -- cgit v1.2.3