method_missing might have updated stack beyond boundary; fix #3599

This commit is contained in:
Yukihiro "Matz" Matsumoto
2017-04-12 10:28:57 +09:00
parent 326e043a64
commit 2a4db1a4be
+1
View File
@@ -395,6 +395,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, mrb_int argc
mrb_method_missing(mrb, mid, self, args);
}
mrb_ary_unshift(mrb, args, mrb_symbol_value(mid));
stack_extend(mrb, n+2);
mrb->c->stack[n+1] = args;
argc = -1;
}