diff options
author | Xinchen Hui <laruence@gmail.com> | 2020-05-07 14:16:02 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2020-05-07 14:16:02 +0800 |
commit | dd9d0a96d12def54b1b39815906c68371ad5a9f3 (patch) | |
tree | be34219d971357dd60792cf3a3a93093589db056 /Zend/zend_execute.c | |
parent | 7977cd1c190d26d2ba064d1c2347add8a7e405a3 (diff) | |
download | php-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.c | 15 |
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)) { |