Project

General

Profile

Bug #11451 » 0001-Fix-crash-caused-by-recursive-yield-to-blocks-with-d.patch

And here is the fix! - alexdowad (Alex Dowad), 08/17/2015 12:55 PM

View differences:

insns.def
ci->blockptr = 0;
ci->recv = GET_SELF();
val = vm_invoke_block(th, GET_CFP(), ci);
/* If this iseq is running recursively, and we changed ci->argc, restore it
* so as not to cause problems for the invocation higher up on the stack */
ci->argc = ci->orig_argc;
if (val == Qundef) {
RESTORE_REGS();
NEXT_INSN();
(2-2/2)