From 960c82e396135ad3e6c5b2ef1e809319f95b9f82 Mon Sep 17 00:00:00 2001 From: dearblue Date: Tue, 9 Jun 2020 21:54:13 +0900 Subject: Remove `mrb_assert()` in `Module.nesting` The following code was causing SIGSEGV: ```ruby Module.method(:nesting).call ``` --- mrbgems/mruby-metaprog/src/metaprog.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mrbgems/mruby-metaprog/src/metaprog.c b/mrbgems/mruby-metaprog/src/metaprog.c index 4334fe983..6c0dc5ad3 100644 --- a/mrbgems/mruby-metaprog/src/metaprog.c +++ b/mrbgems/mruby-metaprog/src/metaprog.c @@ -670,8 +670,7 @@ mrb_mod_s_nesting(mrb_state *mrb, mrb_value mod) ary = mrb_ary_new(mrb); proc = mrb->c->ci[-1].proc; /* callee proc */ - mrb_assert(!MRB_PROC_CFUNC_P(proc)); - while (proc) { + while (proc && !MRB_PROC_CFUNC_P(proc)) { if (MRB_PROC_SCOPE_P(proc)) { struct RClass *c2 = MRB_PROC_TARGET_CLASS(proc); -- cgit v1.2.3