3434#include <openssl/ssl.h>
3535#include <openssl/pkcs12.h>
3636#else
37- static zend_result phar_call_openssl_signverify (bool is_sign , php_stream * fp , zend_off_t end , char * key , size_t key_len , char * * signature , size_t * signature_len , uint32_t sig_type );
37+ static zend_result phar_call_openssl_signverify (bool is_sign , php_stream * fp , zend_off_t end , const char * key , size_t key_len , char * * signature , size_t * signature_len , uint32_t sig_type );
3838#endif
3939
4040/* for links to relative location, prepend cwd of the entry */
@@ -188,7 +188,7 @@ int phar_seek_efp(phar_entry_info *entry, zend_off_t offset, int whence, zend_of
188188/* }}} */
189189
190190/* mount an absolute path or uri to a path internal to the phar archive */
191- zend_result phar_mount_entry (phar_archive_data * phar , char * filename , size_t filename_len , char * path , size_t path_len ) /* {{{ */
191+ zend_result phar_mount_entry (phar_archive_data * phar , const char * filename , size_t filename_len , char * path , size_t path_len ) /* {{{ */
192192{
193193 phar_entry_info entry = {0 };
194194 php_stream_statbuf ssb ;
@@ -462,7 +462,7 @@ ZEND_ATTRIBUTE_NONNULL static zend_result phar_separate_entry_fp(phar_entry_info
462462 * appended, truncated, or read. For read, if the entry is marked unmodified, it is
463463 * assumed that the file pointer, if present, is opened for reading
464464 */
465- ZEND_ATTRIBUTE_NONNULL zend_result phar_get_entry_data (phar_entry_data * * ret , char * fname , size_t fname_len , char * path , size_t path_len , const char * mode , char allow_dir , char * * error , bool security ) /* {{{ */
465+ ZEND_ATTRIBUTE_NONNULL zend_result phar_get_entry_data (phar_entry_data * * ret , const char * fname , size_t fname_len , char * path , size_t path_len , const char * mode , char allow_dir , char * * error , bool security ) /* {{{ */
466466{
467467 phar_archive_data * phar ;
468468 phar_entry_info * entry ;
@@ -929,7 +929,7 @@ ZEND_ATTRIBUTE_NONNULL phar_entry_info * phar_open_jit(const phar_archive_data *
929929}
930930/* }}} */
931931
932- zend_result phar_free_alias (phar_archive_data * phar , char * alias , size_t alias_len ) /* {{{ */
932+ zend_result phar_free_alias (const phar_archive_data * phar ) /* {{{ */
933933{
934934 if (phar -> refcount || phar -> is_persistent ) {
935935 return FAILURE ;
@@ -942,7 +942,8 @@ zend_result phar_free_alias(phar_archive_data *phar, char *alias, size_t alias_l
942942
943943 /* invalidate phar cache */
944944 PHAR_G (last_phar ) = NULL ;
945- PHAR_G (last_phar_name ) = PHAR_G (last_alias ) = NULL ;
945+ PHAR_G (last_alias ) = NULL ;
946+ PHAR_G (last_phar_name ) = NULL ;
946947
947948 return SUCCESS ;
948949}
@@ -952,11 +953,10 @@ zend_result phar_free_alias(phar_archive_data *phar, char *alias, size_t alias_l
952953 * Looks up a phar archive in the filename map, connecting it to the alias
953954 * (if any) or returns null
954955 */
955- zend_result phar_get_archive (phar_archive_data * * archive , char * fname , size_t fname_len , char * alias , size_t alias_len , char * * error ) /* {{{ */
956+ zend_result phar_get_archive (phar_archive_data * * archive , const char * fname , size_t fname_len , const char * alias , size_t alias_len , char * * error ) /* {{{ */
956957{
957958 phar_archive_data * fd , * fd_ptr ;
958- char * my_realpath , * save ;
959- size_t save_len ;
959+ char * my_realpath ;
960960
961961 phar_request_initialize ();
962962
@@ -1003,7 +1003,7 @@ zend_result phar_get_archive(phar_archive_data **archive, char *fname, size_t fn
10031003 if (error ) {
10041004 spprintf (error , 0 , "alias \"%s\" is already used for archive \"%s\" cannot be overloaded with \"%s\"" , alias , fd_ptr -> fname , fname );
10051005 }
1006- if (SUCCESS == phar_free_alias (fd_ptr , alias , alias_len )) {
1006+ if (SUCCESS == phar_free_alias (fd_ptr )) {
10071007 if (error ) {
10081008 efree (* error );
10091009 * error = NULL ;
@@ -1029,8 +1029,8 @@ zend_result phar_get_archive(phar_archive_data **archive, char *fname, size_t fn
10291029 }
10301030
10311031 my_realpath = NULL ;
1032- save = fname ;
1033- save_len = fname_len ;
1032+ const char * save = fname ;
1033+ size_t save_len = fname_len ;
10341034
10351035 if (fname && fname_len ) {
10361036 if (NULL != (fd_ptr = zend_hash_str_find_ptr (& (PHAR_G (phar_fname_map )), fname , fname_len ))) {
@@ -1113,14 +1113,15 @@ zend_result phar_get_archive(phar_archive_data **archive, char *fname, size_t fn
11131113 my_realpath = expand_filepath (fname , my_realpath );
11141114
11151115 if (my_realpath ) {
1116- fname_len = strlen (my_realpath );
1116+ size_t my_realpath_len = strlen (my_realpath );
1117+ #ifdef PHP_WIN32
1118+ phar_unixify_path_separators (my_realpath , my_realpath_len );
1119+ #endif
1120+ fname_len = my_realpath_len ;
11171121 fname = my_realpath ;
11181122 } else {
11191123 return FAILURE ;
11201124 }
1121- #ifdef PHP_WIN32
1122- phar_unixify_path_separators (fname , fname_len );
1123- #endif
11241125
11251126 if (NULL != (fd_ptr = zend_hash_str_find_ptr (& (PHAR_G (phar_fname_map )), fname , fname_len ))) {
11261127realpath_success :
@@ -1382,7 +1383,7 @@ static int phar_hex_str(const char *digest, size_t digest_len, char **signature)
13821383/* }}} */
13831384
13841385#ifndef PHAR_HAVE_OPENSSL
1385- static zend_result phar_call_openssl_signverify (bool is_sign , php_stream * fp , zend_off_t end , char * key , size_t key_len , char * * signature , size_t * signature_len , uint32_t sig_type ) /* {{{ */
1386+ static zend_result phar_call_openssl_signverify (bool is_sign , php_stream * fp , zend_off_t end , const char * key , size_t key_len , char * * signature , size_t * signature_len , uint32_t sig_type ) /* {{{ */
13861387{
13871388 zval retval , zp [4 ];
13881389 zend_string * str ;
@@ -1473,7 +1474,7 @@ static zend_result phar_call_openssl_signverify(bool is_sign, php_stream *fp, ze
14731474/* }}} */
14741475#endif /* #ifndef PHAR_HAVE_OPENSSL */
14751476
1476- zend_result phar_verify_signature (php_stream * fp , size_t end_of_phar , uint32_t sig_type , char * sig , size_t sig_len , char * fname , char * * signature , size_t * signature_len , char * * error ) /* {{{ */
1477+ zend_result phar_verify_signature (php_stream * fp , size_t end_of_phar , uint32_t sig_type , char * sig , size_t sig_len , const char * fname , char * * signature , size_t * signature_len , char * * error ) /* {{{ */
14771478{
14781479 size_t read_size , len ;
14791480 zend_off_t read_len ;
@@ -1959,7 +1960,7 @@ ZEND_ATTRIBUTE_NONNULL zend_result phar_create_signature(phar_archive_data *phar
19591960/* }}} */
19601961
19611962// TODO: convert this to zend_string too
1962- void phar_add_virtual_dirs (phar_archive_data * phar , char * filename , size_t filename_len ) /* {{{ */
1963+ void phar_add_virtual_dirs (phar_archive_data * phar , const char * filename , size_t filename_len ) /* {{{ */
19631964{
19641965 const char * s ;
19651966 zend_string * str ;
@@ -2074,7 +2075,8 @@ zend_result phar_copy_on_write(phar_archive_data **pphar) /* {{{ */
20742075 newpphar = Z_PTR_P (pzv );
20752076 /* invalidate phar cache */
20762077 PHAR_G (last_phar ) = NULL ;
2077- PHAR_G (last_phar_name ) = PHAR_G (last_alias ) = NULL ;
2078+ PHAR_G (last_alias ) = NULL ;
2079+ PHAR_G (last_phar_name ) = NULL ;
20782080
20792081 if (newpphar -> alias_len && NULL == zend_hash_str_add_ptr (& (PHAR_G (phar_alias_map )), newpphar -> alias , newpphar -> alias_len , newpphar )) {
20802082 zend_hash_str_del (& (PHAR_G (phar_fname_map )), (* pphar )-> fname , (* pphar )-> fname_len );
0 commit comments