diff options
| author | dearblue <[email protected]> | 2020-03-30 23:52:59 +0900 |
|---|---|---|
| committer | dearblue <[email protected]> | 2020-03-30 23:52:59 +0900 |
| commit | 9b15860ddb184af981440e83c2ae40577b91368b (patch) | |
| tree | 682d2e5fc45fc45e5fbbf91c5b37ecc2a1fd76bb | |
| parent | 0dacc9a62a1772362f82e7c53cf18d6223e8a917 (diff) | |
| download | mruby-9b15860ddb184af981440e83c2ae40577b91368b.tar.gz mruby-9b15860ddb184af981440e83c2ae40577b91368b.zip | |
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.
| -rw-r--r-- | mrbgems/mruby-metaprog/src/metaprog.c | 2 |
1 files changed, 1 insertions, 1 deletions
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); |
