summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2020-11-23 14:42:38 +0300
committerDmitry Stogov <dmitry@zend.com>2020-11-23 14:42:38 +0300
commit586ccfdfd5179336dcf3719577b8258e55e7d76e (patch)
tree17cca96bb0e790b006a88c9ebceed46fd82ec771
parent4cf3da73839b1ef3ab1fc8f74aee3a00237ad6b5 (diff)
downloadphp-git-586ccfdfd5179336dcf3719577b8258e55e7d76e.tar.gz
Fixed use-after-free in PHPUnit tests
-rw-r--r--ext/opcache/jit/zend_jit_trace.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c
index e50a418f44..8e01c73162 100644
--- a/ext/opcache/jit/zend_jit_trace.c
+++ b/ext/opcache/jit/zend_jit_trace.c
@@ -3245,6 +3245,9 @@ static int zend_jit_trace_deoptimization(dasm_State **Dst,
} else if (reg == ZREG_THIS) {
if (polymorphic_side_trace) {
ssa->var_info[i].delayed_fetch_this = 1;
+ if (stack) {
+ SET_STACK_REG(stack, i, ZREG_THIS);
+ }
} else if (!zend_jit_load_this(Dst, EX_NUM_TO_VAR(i))) {
return 0;
}