@@ -630,7 +630,8 @@ zend_result phar_parse_zipfile(php_stream *fp, const char *fname, size_t fname_l
630630 php_stream_filter_append (& fp -> readfilters , filter );
631631
632632 actual_alias = php_stream_copy_to_mem (fp , entry .uncompressed_filesize , 0 );
633- if (!actual_alias || !entry .uncompressed_filesize ) {
633+ entry .uncompressed_filesize = ZSTR_LEN (actual_alias );
634+ if (!entry .uncompressed_filesize ) {
634635 php_stream_filter_remove (filter , 1 );
635636 zend_string_release_ex (entry .filename , entry .is_persistent );
636637 PHAR_ZIP_FAIL ("unable to read in alias, truncated" );
@@ -649,7 +650,8 @@ zend_result phar_parse_zipfile(php_stream *fp, const char *fname, size_t fname_l
649650
650651 php_stream_filter_append (& fp -> readfilters , filter );
651652 actual_alias = php_stream_copy_to_mem (fp , entry .uncompressed_filesize , 0 );
652- if (!actual_alias || !entry .uncompressed_filesize ) {
653+ entry .uncompressed_filesize = ZSTR_LEN (actual_alias );
654+ if (!entry .uncompressed_filesize ) {
653655 php_stream_filter_remove (filter , 1 );
654656 zend_string_release_ex (entry .filename , entry .is_persistent );
655657 PHAR_ZIP_FAIL ("unable to read in alias, truncated" );
@@ -659,7 +661,8 @@ zend_result phar_parse_zipfile(php_stream *fp, const char *fname, size_t fname_l
659661 php_stream_filter_remove (filter , 1 );
660662 } else {
661663 actual_alias = php_stream_copy_to_mem (fp , entry .uncompressed_filesize , 0 );
662- if (!actual_alias || !entry .uncompressed_filesize ) {
664+ entry .uncompressed_filesize = ZSTR_LEN (actual_alias );
665+ if (!entry .uncompressed_filesize ) {
663666 zend_string_release_ex (entry .filename , entry .is_persistent );
664667 PHAR_ZIP_FAIL ("unable to read in alias, truncated" );
665668 }
0 commit comments