@@ -570,7 +570,8 @@ static inline int ct_eval_func_call(
570
570
int overflow ;
571
571
572
572
if ((zend_string_equals_literal (name , "array_keys" )
573
- || zend_string_equals_literal (name , "array_values" ))
573
+ || zend_string_equals_literal (name , "array_values" )
574
+ || zend_string_equals_literal (name , "array_flip" ))
574
575
&& num_args == 1
575
576
&& Z_TYPE_P (args [0 ]) == IS_ARRAY ) {
576
577
/* pass */
@@ -584,7 +585,10 @@ static inline int ct_eval_func_call(
584
585
} else if ((zend_string_equals_literal (name , "array_merge" )
585
586
|| zend_string_equals_literal (name , "array_replace" )
586
587
|| zend_string_equals_literal (name , "array_merge_recursive" )
587
- || zend_string_equals_literal (name , "array_merge_recursive" ))
588
+ || zend_string_equals_literal (name , "array_merge_recursive" )
589
+ || zend_string_equals_literal (name , "array_diff" )
590
+ || zend_string_equals_literal (name , "array_diff_assoc" )
591
+ || zend_string_equals_literal (name , "array_diff_key" ))
588
592
&& num_args > 0 ) {
589
593
for (i = 0 ; i < num_args ; i ++ ) {
590
594
if (Z_TYPE_P (args [i ]) != IS_ARRAY ) {
@@ -612,6 +616,11 @@ static inline int ct_eval_func_call(
612
616
} ZEND_HASH_FOREACH_END ();
613
617
}
614
618
/* pass */
619
+ } else if (zend_string_equals_literal (name , "version_comapre" )
620
+ && (num_args == 2 || (num_args == 3 && Z_TYPE_P (args [2 ]) == IS_STRING ))
621
+ && Z_TYPE_P (args [0 ]) == IS_STRING
622
+ && Z_TYPE_P (args [1 ]) == IS_STRING ) {
623
+ /* pass */
615
624
} else {
616
625
return FAILURE ;
617
626
}
0 commit comments