diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-04-11 01:51:25 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-04-11 01:51:25 +0900 |
| commit | 03c849338f5fb0efd91b2071f4cedf92bb7bcd55 (patch) | |
| tree | 1a040e4b91d70f9f28c1507679babeeaef9ddd98 /mrbgems/mruby-fiber | |
| parent | 9094415acfff11b4590f156eb44cf24483a6fb00 (diff) | |
| download | mruby-03c849338f5fb0efd91b2071f4cedf92bb7bcd55.tar.gz mruby-03c849338f5fb0efd91b2071f4cedf92bb7bcd55.zip | |
Fiber#yield should check C function boundary; fix #3582
Diffstat (limited to 'mrbgems/mruby-fiber')
| -rw-r--r-- | mrbgems/mruby-fiber/src/fiber.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c index 232c925d3..b9d4ccdcc 100644 --- a/mrbgems/mruby-fiber/src/fiber.c +++ b/mrbgems/mruby-fiber/src/fiber.c @@ -326,6 +326,7 @@ mrb_fiber_yield(mrb_state *mrb, mrb_int len, const mrb_value *a) mrb_raise(mrb, E_FIBER_ERROR, "can't yield from root fiber"); } + fiber_check_cfunc(mrb, c); c->prev->status = MRB_FIBER_RUNNING; c->status = MRB_FIBER_SUSPENDED; mrb->c = c->prev; |
