@@ -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,12 @@ static inline int ct_eval_func_call(
906
913
return FAILURE ;
907
914
}
908
915
/* pass */
916
+ } else if (zend_string_equals_literal (name , "dirname" )) {
917
+ if (Z_TYPE_P (args [0 ]) != IS_STRING
918
+ || (Z_TYPE_P (args [1 ]) != IS_LONG )) {
919
+ return FAILURE ;
920
+ }
921
+ /* pass */
909
922
} else if (zend_string_equals_literal (name , "trim" )
910
923
|| zend_string_equals_literal (name , "rtrim" )
911
924
|| zend_string_equals_literal (name , "ltrim" )
@@ -962,7 +975,8 @@ static inline int ct_eval_func_call(
962
975
|| zend_string_equals_literal (name , "str_contains" )
963
976
|| zend_string_equals_literal (name , "str_starts_with" )
964
977
|| zend_string_equals_literal (name , "str_ends_with" )
965
- || zend_string_equals_literal (name , "version_compare" )) {
978
+ || zend_string_equals_literal (name , "version_compare" )
979
+ || zend_string_equals_literal (name , "basename" )) {
966
980
if (Z_TYPE_P (args [0 ]) != IS_STRING
967
981
|| Z_TYPE_P (args [1 ]) != IS_STRING ) {
968
982
return FAILURE ;
@@ -1004,7 +1018,8 @@ static inline int ct_eval_func_call(
1004
1018
}
1005
1019
}
1006
1020
/* pass */
1007
- } else if (zend_string_equals_literal (name , "version_compare" )) {
1021
+ } else if (zend_string_equals_literal (name , "version_compare" )
1022
+ || zend_string_equals_literal (name , "str_replace" )) {
1008
1023
if (Z_TYPE_P (args [0 ]) != IS_STRING
1009
1024
|| Z_TYPE_P (args [1 ]) != IS_STRING
1010
1025
|| Z_TYPE_P (args [2 ]) != IS_STRING ) {
0 commit comments