diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-04-28 07:44:41 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-04-28 07:44:41 -0700 |
| commit | ef6c8cd01cf7bc626788729dfbd9e3c3c7e74a15 (patch) | |
| tree | afc29030f4bd1cdf28fba48db0aa7b890f246ac5 | |
| parent | a893a48b68029491dff643d7fb471cf79240cf2d (diff) | |
| parent | 8ce5893e1aab1efe0c3c2aa8e0418d639df87d13 (diff) | |
| download | mruby-ef6c8cd01cf7bc626788729dfbd9e3c3c7e74a15.tar.gz mruby-ef6c8cd01cf7bc626788729dfbd9e3c3c7e74a15.zip | |
Merge pull request #69 from k-tsj/fix-proc-segv
Use mrb_get_args instead of direct stack access
| -rw-r--r-- | src/proc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/proc.c b/src/proc.c index f819a8130..ab5e3ac53 100644 --- a/src/proc.c +++ b/src/proc.c @@ -59,8 +59,9 @@ mrb_proc_new_cfunc(mrb_state *mrb, mrb_func_t func) static mrb_value mrb_proc_initialize(mrb_state *mrb, mrb_value self) { - mrb_value blk = mrb->stack[mrb->ci->argc+1]; + mrb_value blk; + mrb_get_args(mrb, "&", &blk); if (!mrb_nil_p(blk)) { *mrb_proc_ptr(self) = *mrb_proc_ptr(blk); } |
