@@ -3662,10 +3662,13 @@ static int zend_traits_copy_functions(zend_function *fn TSRMLS_DC, int num_args,
3662
3662
/* apply aliases which are qualified with a class name, there should not be any ambiguity */
3663
3663
if (aliases ) {
3664
3664
while (aliases [i ]) {
3665
- if (!aliases [i ]-> trait_method -> ce || (fn -> common .scope == aliases [i ]-> trait_method -> ce &&
3666
- (zend_binary_strcasecmp (aliases [i ]-> trait_method -> method_name ,
3665
+
3666
+ if (/* Scope unset or equal to the function we compare to */
3667
+ (!aliases [i ]-> trait_method -> ce || fn -> common .scope == aliases [i ]-> trait_method -> ce )
3668
+ && /* and, the alias applies to fn */
3669
+ (zend_binary_strcasecmp (aliases [i ]-> trait_method -> method_name ,
3667
3670
aliases [i ]-> trait_method -> mname_len ,
3668
- fn -> common .function_name , fnname_len ) == 0 ))) {
3671
+ fn -> common .function_name , fnname_len ) == 0 )) {
3669
3672
if (aliases [i ]-> alias ) {
3670
3673
fn_copy = * fn ;
3671
3674
zend_traits_duplicate_function (& fn_copy , estrndup (aliases [i ]-> alias , aliases [i ]-> alias_len ) TSRMLS_CC );
@@ -3703,10 +3706,12 @@ static int zend_traits_copy_functions(zend_function *fn TSRMLS_DC, int num_args,
3703
3706
if (aliases ) {
3704
3707
i = 0 ;
3705
3708
while (aliases [i ]) {
3706
- if ((!aliases [i ]-> trait_method -> ce || fn -> common .scope == aliases [i ]-> trait_method -> ce ) &&
3707
- (zend_binary_strcasecmp (aliases [i ]-> trait_method -> method_name ,
3708
- aliases [i ]-> trait_method -> mname_len ,
3709
- fn -> common .function_name , fnname_len ) == 0 )) {
3709
+ if (/* Scope unset or equal to the function we compare to */
3710
+ (!aliases [i ]-> trait_method -> ce || fn -> common .scope == aliases [i ]-> trait_method -> ce )
3711
+ && /* and, the alias applies to fn */
3712
+ (zend_binary_strcasecmp (aliases [i ]-> trait_method -> method_name ,
3713
+ aliases [i ]-> trait_method -> mname_len ,
3714
+ fn -> common .function_name , fnname_len ) == 0 )) {
3710
3715
if (!aliases [i ]-> alias && aliases [i ]-> modifiers ) { /* if it is 0, no modifieres has been changed */
3711
3716
fn_copy .common .fn_flags = aliases [i ]-> modifiers ;
3712
3717
if (!(aliases [i ]-> modifiers & ZEND_ACC_PPP_MASK )) {
0 commit comments