Fixed a bug in ci address shifting; fix #3423

Dinko Galetic and Denis Kasak reported the issue and the fix.
(via https://hackerone.com/dgaletic).
parent be550f04
...@@ -1705,9 +1705,10 @@ RETRY_TRY_BLOCK: ...@@ -1705,9 +1705,10 @@ RETRY_TRY_BLOCK:
mrb->jmp = prev_jmp; mrb->jmp = prev_jmp;
return v; return v;
} }
cipop(mrb); ci = mrb->c->ci;
acc = ci->acc; acc = ci->acc;
mrb->c->stack = ci->stackent; mrb->c->stack = ci->stackent;
cipop(mrb);
if (acc == CI_ACC_SKIP) { if (acc == CI_ACC_SKIP) {
mrb->jmp = prev_jmp; mrb->jmp = prev_jmp;
return v; return v;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment