Commit 3718599e authored by Yuichiro MASUI's avatar Yuichiro MASUI

Fixed memory leak when calling stack_extend in m->body.func

parent 52ba6f5a
...@@ -689,7 +689,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -689,7 +689,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
struct RProc *m; struct RProc *m;
struct RClass *c; struct RClass *c;
mrb_callinfo *ci; mrb_callinfo *ci;
mrb_value recv; mrb_value recv, result;
mrb_sym mid = syms[GETARG_B(i)]; mrb_sym mid = syms[GETARG_B(i)];
recv = regs[a]; recv = regs[a];
...@@ -731,7 +731,8 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -731,7 +731,8 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
else { else {
ci->nregs = n + 2; ci->nregs = n + 2;
} }
mrb->stack[0] = m->body.func(mrb, recv); result = m->body.func(mrb, recv);
mrb->stack[0] = result;
mrb->arena_idx = ai; mrb->arena_idx = ai;
if (mrb->exc) goto L_RAISE; if (mrb->exc) goto L_RAISE;
/* pop stackpos */ /* pop stackpos */
......
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