@@ -748,14 +748,12 @@ PHPAPI void php_stat(zend_string *filename, int type, zval *return_value)
748748 const char * local = NULL ;
749749 php_stream_wrapper * wrapper = NULL ;
750750
751+ ZEND_ASSERT (!zend_str_has_nul_byte (filename ));
752+ /* Quick check for empty file paths */
753+ if (!ZSTR_LEN (filename )) {
754+ RETURN_FALSE ;
755+ }
751756 if (IS_ACCESS_CHECK (type )) {
752- if (!ZSTR_LEN (filename ) || CHECK_NULL_PATH (ZSTR_VAL (filename ), ZSTR_LEN (filename ))) {
753- if (ZSTR_LEN (filename ) && !IS_EXISTS_CHECK (type )) {
754- php_error_docref (NULL , E_WARNING , "Filename contains null byte" );
755- }
756- RETURN_FALSE ;
757- }
758-
759757 if ((wrapper = php_stream_locate_url_wrapper (ZSTR_VAL (filename ), & local , 0 )) == & php_plain_files_wrapper
760758 && php_check_open_basedir (local )) {
761759 RETURN_FALSE ;
@@ -821,13 +819,6 @@ PHPAPI void php_stat(zend_string *filename, int type, zval *return_value)
821819 }
822820
823821 if (!wrapper ) {
824- if (!ZSTR_LEN (filename ) || CHECK_NULL_PATH (ZSTR_VAL (filename ), ZSTR_LEN (filename ))) {
825- if (ZSTR_LEN (filename ) && !IS_EXISTS_CHECK (type )) {
826- php_error_docref (NULL , E_WARNING , "Filename contains null byte" );
827- }
828- RETURN_FALSE ;
829- }
830-
831822 if ((wrapper = php_stream_locate_url_wrapper (ZSTR_VAL (filename ), & local , 0 )) == & php_plain_files_wrapper
832823 && php_check_open_basedir (local )) {
833824 RETURN_FALSE ;
0 commit comments