From 9b15860ddb184af981440e83c2ae40577b91368b Mon Sep 17 00:00:00 2001 From: dearblue Date: Mon, 30 Mar 2020 23:52:59 +0900 Subject: Fix NULL pointer dereferences in mrb_local_variables; fix #4955 However, the behavior of `#call` on the method object of `local_variables` is not corrected. --- mrbgems/mruby-metaprog/src/metaprog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mrbgems/mruby-metaprog/src/metaprog.c b/mrbgems/mruby-metaprog/src/metaprog.c index f00c4493b..b4895a9d1 100644 --- a/mrbgems/mruby-metaprog/src/metaprog.c +++ b/mrbgems/mruby-metaprog/src/metaprog.c @@ -139,7 +139,7 @@ mrb_local_variables(mrb_state *mrb, mrb_value self) proc = mrb->c->ci[-1].proc; - if (MRB_PROC_CFUNC_P(proc)) { + if (proc == NULL || MRB_PROC_CFUNC_P(proc)) { return mrb_ary_new(mrb); } vars = mrb_hash_new(mrb); -- cgit v1.2.3