summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorTakeshi Watanabe <[email protected]>2018-04-27 10:45:59 +0900
committerTakeshi Watanabe <[email protected]>2018-04-27 10:45:59 +0900
commitb8869498b7b1458af1cf2a5ccc7644849f826230 (patch)
treeef866dc1420e1a0b9e82a628efc0f9d10e4e88c5 /src
parent1b261382a03ac6c5a37a229544253adda80ceeaf (diff)
downloadmruby-b8869498b7b1458af1cf2a5ccc7644849f826230.tar.gz
mruby-b8869498b7b1458af1cf2a5ccc7644849f826230.zip
Fix heap use after free on mruby-aws-sigv4.
Diffstat (limited to 'src')
-rw-r--r--src/vm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index 9e43d0a4e..429cc2648 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -527,6 +527,8 @@ mrb_exec_irep(mrb_state *mrb, mrb_value self, struct RProc *p)
return MRB_PROC_CFUNC(p)(mrb, self);
}
ci->nregs = p->body.irep->nregs;
+ ci->env = MRB_PROC_ENV(p);
+ if (ci->env) ci->env->stack[0] = self;
if (ci->argc < 0) keep = 3;
else keep = ci->argc + 2;
if (ci->nregs < keep) {