From df16da36972c8e186cfe22433d5d0f278e6d7454 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 2 Dec 2021 10:32:45 +0300 Subject: [PATCH] Fixed ext/bz2/tests/005.phpt test failure introduesed by 09547c64c28f81957d986b9c6b995b28d1098db6 --- Zend/zend_execute.c | 3 +++ ext/opcache/jit/zend_jit_helpers.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index c49791e9070..859adcf3244 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1539,6 +1539,9 @@ static zend_never_inline void zend_assign_to_string_offset(zval *str, zval *dim, } else { s = zend_string_init(Z_STRVAL_P(str), Z_STRLEN_P(str), 0); ZSTR_H(s) = ZSTR_H(Z_STR_P(str)); + if (Z_REFCOUNTED_P(str)) { + zend_string_release_ex(Z_STR_P(str), 0); + } ZVAL_NEW_STR(str, s); } diff --git a/ext/opcache/jit/zend_jit_helpers.c b/ext/opcache/jit/zend_jit_helpers.c index d7988ff4124..be26a60aaa5 100644 --- a/ext/opcache/jit/zend_jit_helpers.c +++ b/ext/opcache/jit/zend_jit_helpers.c @@ -1136,6 +1136,9 @@ static zend_never_inline void zend_assign_to_string_offset(zval *str, zval *dim, } else { s = zend_string_init(Z_STRVAL_P(str), Z_STRLEN_P(str), 0); ZSTR_H(s) = ZSTR_H(Z_STR_P(str)); + if (Z_REFCOUNTED_P(str)) { + zend_string_release_ex(Z_STR_P(str), 0); + } ZVAL_NEW_STR(str, s); }