@@ -2828,7 +2828,7 @@ static zend_never_inline void zend_assign_to_property_reference_var_var(zval *co
2828
2828
}
2829
2829
2830
2830
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 ) {
2831
- zend_string * name , * tmp_name ;
2831
+ zend_string * name ;
2832
2832
zend_class_entry * ce ;
2833
2833
zend_property_info * property_info ;
2834
2834
@@ -2868,7 +2868,9 @@ static zend_never_inline int zend_fetch_static_property_address_ex(zval **retval
2868
2868
2869
2869
if (EXPECTED (op1_type == IS_CONST )) {
2870
2870
name = Z_STR_P (RT_CONSTANT (opline , opline -> op1 ));
2871
+ * retval = zend_std_get_static_property_with_info (ce , name , fetch_type , & property_info );
2871
2872
} else {
2873
+ zend_string * tmp_name ;
2872
2874
zval * varname = get_zval_ptr_undef (opline -> op1_type , opline -> op1 , BP_VAR_R );
2873
2875
if (EXPECTED (Z_TYPE_P (varname ) == IS_STRING )) {
2874
2876
name = Z_STR_P (varname );
@@ -2879,14 +2881,13 @@ static zend_never_inline int zend_fetch_static_property_address_ex(zval **retval
2879
2881
}
2880
2882
name = zval_get_tmp_string (varname , & tmp_name );
2881
2883
}
2882
- }
2884
+ * retval = zend_std_get_static_property_with_info ( ce , name , fetch_type , & property_info );
2883
2885
2884
- * retval = zend_std_get_static_property_with_info (ce , name , fetch_type , & property_info );
2886
+ if (UNEXPECTED (op1_type != IS_CONST )) {
2887
+ zend_tmp_string_release (tmp_name );
2885
2888
2886
- if (UNEXPECTED (op1_type != IS_CONST )) {
2887
- zend_tmp_string_release (tmp_name );
2888
-
2889
- FREE_OP (op1_type , opline -> op1 .var );
2889
+ FREE_OP (op1_type , opline -> op1 .var );
2890
+ }
2890
2891
}
2891
2892
2892
2893
if (UNEXPECTED (* retval == NULL )) {
0 commit comments