@@ -1302,7 +1302,7 @@ static zend_result phar_parse_pharfile(php_stream *fp, const char *fname, size_t
13021302/**
13031303 * Create or open a phar for writing
13041304 */
1305- ZEND_ATTRIBUTE_NONNULL_ARGS (1 , 6 , 7 ) zend_result phar_open_or_create_filename (zend_string * fname , const char * alias , size_t alias_len , bool is_data , uint32_t options , phar_archive_data * * pphar , char * * error ) /* {{{ */
1305+ ZEND_ATTRIBUTE_NONNULL_ARGS (1 , 5 , 6 ) zend_result phar_open_or_create_filename (zend_string * fname , zend_string * alias , bool is_data , uint32_t options , phar_archive_data * * pphar , char * * error ) /* {{{ */
13061306{
13071307 const char * ext_str , * z ;
13081308 char * my_error ;
@@ -1328,7 +1328,9 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_open_or_create_filename(ze
13281328 return FAILURE ;
13291329 }
13301330check_file :
1331- if (phar_open_parsed_phar (ZSTR_VAL (fname ), ZSTR_LEN (fname ), alias , alias_len , is_data , options , test , & my_error ) == SUCCESS ) {
1331+ const char * alias_cstr = alias ? ZSTR_VAL (alias ) : NULL ;
1332+ size_t alias_len = alias ? ZSTR_LEN (alias ) : 0 ;
1333+ if (phar_open_parsed_phar (ZSTR_VAL (fname ), ZSTR_LEN (fname ), alias_cstr , alias_len , is_data , options , test , & my_error ) == SUCCESS ) {
13321334 * pphar = * test ;
13331335
13341336 if ((* test )-> is_data && !(* test )-> is_tar && !(* test )-> is_zip ) {
@@ -1354,15 +1356,15 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_open_or_create_filename(ze
13541356
13551357 if (ext_len > 3 && (z = memchr (ext_str , 'z' , ext_len )) && ((ext_str + ext_len ) - z >= 2 ) && !memcmp (z + 1 , "ip" , 2 )) {
13561358 /* assume zip-based phar */
1357- return phar_open_or_create_zip (fname , alias , alias_len , is_data , options , pphar , error );
1359+ return phar_open_or_create_zip (fname , alias_cstr , alias_len , is_data , options , pphar , error );
13581360 }
13591361
13601362 if (ext_len > 3 && (z = memchr (ext_str , 't' , ext_len )) && ((ext_str + ext_len ) - z >= 2 ) && !memcmp (z + 1 , "ar" , 2 )) {
13611363 /* assume tar-based phar */
1362- return phar_open_or_create_tar (fname , alias , alias_len , is_data , options , pphar , error );
1364+ return phar_open_or_create_tar (fname , alias_cstr , alias_len , is_data , options , pphar , error );
13631365 }
13641366
1365- return phar_create_or_parse_filename (fname , alias , alias_len , is_data , options , pphar , error );
1367+ return phar_create_or_parse_filename (fname , alias_cstr , alias_len , is_data , options , pphar , error );
13661368}
13671369/* }}} */
13681370
0 commit comments