summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authordearblue <[email protected]>2020-06-09 21:54:13 +0900
committerdearblue <[email protected]>2020-06-09 21:54:13 +0900
commit960c82e396135ad3e6c5b2ef1e809319f95b9f82 (patch)
tree1c364091181dcde5587f88a9d42c5d5546eda3b4
parent2098acee7db4259f2db5222fb66a373f9d6ac27a (diff)
downloadmruby-960c82e396135ad3e6c5b2ef1e809319f95b9f82.tar.gz
mruby-960c82e396135ad3e6c5b2ef1e809319f95b9f82.zip
Remove `mrb_assert()` in `Module.nesting`
The following code was causing SIGSEGV: ```ruby Module.method(:nesting).call ```
-rw-r--r--mrbgems/mruby-metaprog/src/metaprog.c3
1 files changed, 1 insertions, 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);