From a797d45e90490884c74b2254b42a4ccecab0c46b Mon Sep 17 00:00:00 2001 From: Carson McDonald Date: Fri, 22 May 2015 10:34:28 -0400 Subject: Verify that proc_lambda is passed a proc --- src/proc.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') 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); -- cgit v1.2.3