diff options
| author | Carson McDonald <[email protected]> | 2015-05-22 10:34:28 -0400 |
|---|---|---|
| committer | Carson McDonald <[email protected]> | 2015-05-22 10:34:28 -0400 |
| commit | a797d45e90490884c74b2254b42a4ccecab0c46b (patch) | |
| tree | 1ff492516d9a1fc981e70960cd46983afe3ee75c /src/proc.c | |
| parent | 4f6bae61eb8873da240741bc06cf0dbb737d9b46 (diff) | |
| download | mruby-a797d45e90490884c74b2254b42a4ccecab0c46b.tar.gz mruby-a797d45e90490884c74b2254b42a4ccecab0c46b.zip | |
Verify that proc_lambda is passed a proc
Diffstat (limited to 'src/proc.c')
| -rw-r--r-- | src/proc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/proc.c b/src/proc.c index e1d1d138d..4cb9ffe18 100644 --- a/src/proc.c +++ b/src/proc.c @@ -240,6 +240,9 @@ proc_lambda(mrb_state *mrb, mrb_value self) if (mrb_nil_p(blk)) { mrb_raise(mrb, E_ARGUMENT_ERROR, "tried to create Proc object without a block"); } + if (mrb_type(blk) != MRB_TT_PROC) { + mrb_raise(mrb, E_ARGUMENT_ERROR, "not a proc"); + } p = mrb_proc_ptr(blk); if (!MRB_PROC_STRICT_P(p)) { struct RProc *p2 = (struct RProc*)mrb_obj_alloc(mrb, MRB_TT_PROC, p->c); |
