@@ -1356,21 +1356,21 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 5, 6) zend_result phar_open_or_create_filename(ze
13561356
13571357 if (ext_len > 3 && (z = memchr (ext_str , 'z' , ext_len )) && ((ext_str + ext_len ) - z >= 2 ) && !memcmp (z + 1 , "ip" , 2 )) {
13581358 /* assume zip-based phar */
1359- return phar_open_or_create_zip (fname , alias_cstr , alias_len , is_data , options , pphar , error );
1359+ return phar_open_or_create_zip (fname , alias , is_data , options , pphar , error );
13601360 }
13611361
13621362 if (ext_len > 3 && (z = memchr (ext_str , 't' , ext_len )) && ((ext_str + ext_len ) - z >= 2 ) && !memcmp (z + 1 , "ar" , 2 )) {
13631363 /* assume tar-based phar */
1364- return phar_open_or_create_tar (fname , alias_cstr , alias_len , is_data , options , pphar , error );
1364+ return phar_open_or_create_tar (fname , alias , is_data , options , pphar , error );
13651365 }
13661366
1367- return phar_create_or_parse_filename (fname , alias_cstr , alias_len , is_data , options , pphar , error );
1367+ return phar_create_or_parse_filename (fname , alias , is_data , options , pphar , error );
13681368}
13691369/* }}} */
13701370
13711371static zend_result phar_open_from_fp (php_stream * fp , const char * fname , size_t fname_len , const char * alias , size_t alias_len , uint32_t options , phar_archive_data * * pphar , char * * error );
13721372
1373- ZEND_ATTRIBUTE_NONNULL_ARGS (1 , 6 , 7 ) zend_result phar_create_or_parse_filename (zend_string * fname , const char * alias , size_t alias_len , bool is_data , uint32_t options , phar_archive_data * * pphar , char * * error ) /* {{{ */
1373+ ZEND_ATTRIBUTE_NONNULL_ARGS (1 , 5 , 6 ) zend_result phar_create_or_parse_filename (zend_string * fname , const zend_string * alias , bool is_data , uint32_t options , phar_archive_data * * pphar , char * * error ) /* {{{ */
13741374{
13751375 php_stream * fp ;
13761376 zend_string * actual = NULL ;
@@ -1388,8 +1388,10 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_create_or_parse_filename(z
13881388 fname = actual ;
13891389 }
13901390
1391+ const char * alias_cstr = alias ? ZSTR_VAL (alias ) : NULL ;
1392+ size_t alias_len = alias ? ZSTR_LEN (alias ) : 0 ;
13911393 if (fp ) {
1392- if (phar_open_from_fp (fp , ZSTR_VAL (fname ), ZSTR_LEN (fname ), alias , alias_len , options , pphar , error ) == SUCCESS ) {
1394+ if (phar_open_from_fp (fp , ZSTR_VAL (fname ), ZSTR_LEN (fname ), alias_cstr , alias_len , options , pphar , error ) == SUCCESS ) {
13931395 if ((* pphar )-> is_data || !PHAR_G (readonly )) {
13941396 (* pphar )-> is_writeable = 1 ;
13951397 }
@@ -1466,9 +1468,9 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_create_or_parse_filename(z
14661468 mydata -> is_tar = 1 ;
14671469 } else {
14681470 if (alias ) {
1469- const phar_archive_data * fd_ptr = zend_hash_str_find_ptr (& (PHAR_G (phar_alias_map )), alias , alias_len );
1471+ const phar_archive_data * fd_ptr = zend_hash_str_find_ptr (& (PHAR_G (phar_alias_map )), alias_cstr , alias_len );
14701472 if (fd_ptr && SUCCESS != phar_free_alias (fd_ptr )) {
1471- spprintf (error , 4096 , "phar error: phar \"%s\" cannot set alias \"%s\", already in use by another phar archive" , ZSTR_VAL (mydata -> fname ), alias );
1473+ spprintf (error , 4096 , "phar error: phar \"%s\" cannot set alias \"%s\", already in use by another phar archive" , ZSTR_VAL (mydata -> fname ), alias_cstr );
14721474
14731475 zend_hash_del (& (PHAR_G (phar_fname_map )), mydata -> fname );
14741476
@@ -1479,14 +1481,14 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_create_or_parse_filename(z
14791481 }
14801482
14811483 ZEND_ASSERT (!mydata -> is_persistent );
1482- mydata -> alias = alias ? estrndup (alias , alias_len ) : estrndup (ZSTR_VAL (mydata -> fname ), ZSTR_LEN (mydata -> fname ));
1484+ mydata -> alias = alias ? estrndup (alias_cstr , alias_len ) : estrndup (ZSTR_VAL (mydata -> fname ), ZSTR_LEN (mydata -> fname ));
14831485 mydata -> alias_len = alias ? alias_len : ZSTR_LEN (mydata -> fname );
14841486 }
14851487
14861488 if (alias_len && alias ) {
1487- if (NULL == zend_hash_str_add_ptr (& (PHAR_G (phar_alias_map )), alias , alias_len , mydata )) {
1489+ if (NULL == zend_hash_str_add_ptr (& (PHAR_G (phar_alias_map )), alias_cstr , alias_len , mydata )) {
14881490 if (options & REPORT_ERRORS ) {
1489- spprintf (error , 0 , "archive \"%s\" cannot be associated with alias \"%s\", already in use" , ZSTR_VAL (fname ), alias );
1491+ spprintf (error , 0 , "archive \"%s\" cannot be associated with alias \"%s\", already in use" , ZSTR_VAL (fname ), alias_cstr );
14901492 }
14911493
14921494 zend_hash_del (& (PHAR_G (phar_fname_map )), mydata -> fname );
0 commit comments