summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-02-08 16:22:48 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-02-08 16:22:48 +0900
commitf3d4ff16d39b34585d41c31ffc09a0ffb512ff81 (patch)
tree6098023fdab7303413b844637868502bb1b036c6 /src
parentbe550f04e48ee3bfd7ca6967c6042db0599675dc (diff)
downloadmruby-f3d4ff16d39b34585d41c31ffc09a0ffb512ff81.tar.gz
mruby-f3d4ff16d39b34585d41c31ffc09a0ffb512ff81.zip
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).
Diffstat (limited to 'src')
-rw-r--r--src/vm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index 0c0f5a4bb..c174c0b43 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1705,9 +1705,10 @@ RETRY_TRY_BLOCK:
mrb->jmp = prev_jmp;
return v;
}
- cipop(mrb);
+ ci = mrb->c->ci;
acc = ci->acc;
mrb->c->stack = ci->stackent;
+ cipop(mrb);
if (acc == CI_ACC_SKIP) {
mrb->jmp = prev_jmp;
return v;