summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2012-04-28 07:44:41 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2012-04-28 07:44:41 -0700
commitef6c8cd01cf7bc626788729dfbd9e3c3c7e74a15 (patch)
treeafc29030f4bd1cdf28fba48db0aa7b890f246ac5
parenta893a48b68029491dff643d7fb471cf79240cf2d (diff)
parent8ce5893e1aab1efe0c3c2aa8e0418d639df87d13 (diff)
downloadmruby-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.c3
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);
}