summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-09-09 21:59:07 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-09-10 10:15:32 +0900
commit3693187beb50e1e4594275238657754890a1ba67 (patch)
tree16a841ad49cd300929e7566575b395c43419db22 /src/vm.c
parentc0f39bcaaf3b12180b4d245ca9446de1b0313a21 (diff)
downloadmruby-3693187beb50e1e4594275238657754890a1ba67.tar.gz
mruby-3693187beb50e1e4594275238657754890a1ba67.zip
vm.c: `ci->acc` (`int16_t`) may overflow.
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/vm.c b/src/vm.c
index 8a6293e62..1cc3a8df7 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -2252,14 +2252,14 @@ RETRY_TRY_BLOCK:
mrb->jmp = prev_jmp;
return v;
}
- pc = ci[0].pc;
+ pc = ci->pc;
DEBUG(fprintf(stderr, "from :%s\n", mrb_sym_name(mrb, ci->mid)));
- proc = mrb->c->ci->proc;
+ proc = ci->proc;
irep = proc->body.irep;
pool = irep->pool;
syms = irep->syms;
- regs[acc] = v;
+ ci[1].stack[0] = v;
mrb_gc_arena_restore(mrb, ai);
}
JUMP;