@@ -6628,7 +6628,8 @@ static zend_result php_array_find(const HashTable *array, zend_fcall_info fci, z
6628
6628
ZVAL_COPY (& args [0 ], operand );
6629
6629
6630
6630
zend_result result = zend_call_function (& fci , & fci_cache );
6631
- if (EXPECTED (result == SUCCESS )) {
6631
+ ZEND_ASSERT (result == SUCCESS );
6632
+ if (EXPECTED (!Z_ISUNDEF (retval ))) {
6632
6633
int retval_true ;
6633
6634
6634
6635
retval_true = zend_is_true (& retval );
@@ -6656,7 +6657,7 @@ static zend_result php_array_find(const HashTable *array, zend_fcall_info fci, z
6656
6657
zval_ptr_dtor (& args [0 ]);
6657
6658
zval_ptr_dtor (& args [1 ]);
6658
6659
6659
- if (UNEXPECTED (result != SUCCESS )) {
6660
+ if (UNEXPECTED (Z_ISUNDEF ( retval ) )) {
6660
6661
return FAILURE ;
6661
6662
}
6662
6663
} ZEND_HASH_FOREACH_END ();
@@ -6725,7 +6726,11 @@ PHP_FUNCTION(array_any)
6725
6726
RETURN_THROWS ();
6726
6727
}
6727
6728
6728
- RETURN_BOOL (Z_TYPE_P (return_value ) != IS_UNDEF );
6729
+ bool retval = !Z_ISUNDEF_P (return_value );
6730
+ if (Z_TYPE_P (return_value ) == IS_STRING ) {
6731
+ zval_ptr_dtor_str (return_value );
6732
+ }
6733
+ RETURN_BOOL (retval );
6729
6734
}
6730
6735
/* }}} */
6731
6736
@@ -6745,7 +6750,11 @@ PHP_FUNCTION(array_all)
6745
6750
RETURN_THROWS ();
6746
6751
}
6747
6752
6748
- RETURN_BOOL (Z_TYPE_P (return_value ) == IS_UNDEF );
6753
+ bool retval = Z_ISUNDEF_P (return_value );
6754
+ if (Z_TYPE_P (return_value ) == IS_STRING ) {
6755
+ zval_ptr_dtor_str (return_value );
6756
+ }
6757
+ RETURN_BOOL (retval );
6749
6758
}
6750
6759
/* }}} */
6751
6760
0 commit comments