@@ -844,13 +844,20 @@ static inline int ct_eval_func_call(
844
844
|| zend_string_equals_literal (name , "urldecode" )
845
845
|| zend_string_equals_literal (name , "rawurlencode" )
846
846
|| zend_string_equals_literal (name , "rawurldecode" )
847
- || zend_string_equals_literal (name , "php_uname" )) {
847
+ || zend_string_equals_literal (name , "php_uname" )
848
+ || zend_string_equals_literal (name , "dirname" )
849
+ || zend_string_equals_literal (name , "basename" )
850
+ || zend_string_equals_literal (name , "md5" )
851
+ || zend_string_equals_literal (name , "crc32" )
852
+ || zend_string_equals_literal (name , "sha1" )) {
848
853
if (Z_TYPE_P (args [0 ]) != IS_STRING ) {
849
854
return FAILURE ;
850
855
}
851
856
/* pass */
852
857
} else if (zend_string_equals_literal (name , "array_keys" )
853
- || zend_string_equals_literal (name , "array_values" )) {
858
+ || zend_string_equals_literal (name , "array_values" )
859
+ || zend_string_equals_literal (name , "array_unique" )
860
+ || zend_string_equals_literal (name , "array_filter" )) {
854
861
if (Z_TYPE_P (args [0 ]) != IS_ARRAY ) {
855
862
return FAILURE ;
856
863
}
@@ -906,6 +913,13 @@ static inline int ct_eval_func_call(
906
913
return FAILURE ;
907
914
}
908
915
/* pass */
916
+ } else if (zend_string_equals_literal (name , "filter_var" )
917
+ || zend_string_equals_literal (name , "dirname" )) {
918
+ if (Z_TYPE_P (args [0 ]) != IS_STRING
919
+ || (Z_TYPE_P (args [1 ]) != IS_LONG )) {
920
+ return FAILURE ;
921
+ }
922
+ /* pass */
909
923
} else if (zend_string_equals_literal (name , "trim" )
910
924
|| zend_string_equals_literal (name , "rtrim" )
911
925
|| zend_string_equals_literal (name , "ltrim" )
@@ -962,7 +976,8 @@ static inline int ct_eval_func_call(
962
976
|| zend_string_equals_literal (name , "str_contains" )
963
977
|| zend_string_equals_literal (name , "str_starts_with" )
964
978
|| zend_string_equals_literal (name , "str_ends_with" )
965
- || zend_string_equals_literal (name , "version_compare" )) {
979
+ || zend_string_equals_literal (name , "version_compare" )
980
+ || zend_string_equals_literal (name , "basename" )) {
966
981
if (Z_TYPE_P (args [0 ]) != IS_STRING
967
982
|| Z_TYPE_P (args [1 ]) != IS_STRING ) {
968
983
return FAILURE ;
@@ -1004,7 +1019,8 @@ static inline int ct_eval_func_call(
1004
1019
}
1005
1020
}
1006
1021
/* pass */
1007
- } else if (zend_string_equals_literal (name , "version_compare" )) {
1022
+ } else if (zend_string_equals_literal (name , "version_compare" )
1023
+ || zend_string_equals_literal (name , "str_replace" )) {
1008
1024
if (Z_TYPE_P (args [0 ]) != IS_STRING
1009
1025
|| Z_TYPE_P (args [1 ]) != IS_STRING
1010
1026
|| Z_TYPE_P (args [2 ]) != IS_STRING ) {
0 commit comments