diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-04-28 10:08:20 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-04-28 10:08:20 +0900 |
| commit | b956c0f43c1ae92b6cec6bcb4a25bf9f2be33136 (patch) | |
| tree | ef866dc1420e1a0b9e82a628efc0f9d10e4e88c5 /src | |
| parent | 1b261382a03ac6c5a37a229544253adda80ceeaf (diff) | |
| parent | b8869498b7b1458af1cf2a5ccc7644849f826230 (diff) | |
| download | mruby-b956c0f43c1ae92b6cec6bcb4a25bf9f2be33136.tar.gz mruby-b956c0f43c1ae92b6cec6bcb4a25bf9f2be33136.zip | |
Merge pull request #4012 from take-cheeze/fix_heap_use_after_free
Fix heap use after free on mruby-aws-sigv4.
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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) { |
