summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2020-05-07 14:16:02 +0800
committerXinchen Hui <laruence@gmail.com>2020-05-07 14:16:02 +0800
commitdd9d0a96d12def54b1b39815906c68371ad5a9f3 (patch)
treebe34219d971357dd60792cf3a3a93093589db056 /Zend/zend_execute.c
parent7977cd1c190d26d2ba064d1c2347add8a7e405a3 (diff)
downloadphp-git-dd9d0a96d12def54b1b39815906c68371ad5a9f3.tar.gz
Fixed false alarm about tmp_name maybe unitialized
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 9ca916df8a..99e429f39b 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2828,7 +2828,7 @@ static zend_never_inline void zend_assign_to_property_reference_var_var(zval *co
}
static zend_never_inline int zend_fetch_static_property_address_ex(zval **retval, zend_property_info **prop_info, uint32_t cache_slot, int fetch_type OPLINE_DC EXECUTE_DATA_DC) {
- zend_string *name, *tmp_name;
+ zend_string *name;
zend_class_entry *ce;
zend_property_info *property_info;
@@ -2868,7 +2868,9 @@ static zend_never_inline int zend_fetch_static_property_address_ex(zval **retval
if (EXPECTED(op1_type == IS_CONST)) {
name = Z_STR_P(RT_CONSTANT(opline, opline->op1));
+ *retval = zend_std_get_static_property_with_info(ce, name, fetch_type, &property_info);
} else {
+ zend_string *tmp_name;
zval *varname = get_zval_ptr_undef(opline->op1_type, opline->op1, BP_VAR_R);
if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
name = Z_STR_P(varname);
@@ -2879,14 +2881,13 @@ static zend_never_inline int zend_fetch_static_property_address_ex(zval **retval
}
name = zval_get_tmp_string(varname, &tmp_name);
}
- }
+ *retval = zend_std_get_static_property_with_info(ce, name, fetch_type, &property_info);
- *retval = zend_std_get_static_property_with_info(ce, name, fetch_type, &property_info);
+ if (UNEXPECTED(op1_type != IS_CONST)) {
+ zend_tmp_string_release(tmp_name);
- if (UNEXPECTED(op1_type != IS_CONST)) {
- zend_tmp_string_release(tmp_name);
-
- FREE_OP(op1_type, opline->op1.var);
+ FREE_OP(op1_type, opline->op1.var);
+ }
}
if (UNEXPECTED(*retval == NULL)) {