Skip to content

Commit f435e3a

Browse files
committed
ext/phar: refactor phar_open_or_create_tar() to use a zend_string* for fname
1 parent 985cf1e commit f435e3a

3 files changed

Lines changed: 5 additions & 5 deletions

File tree

ext/phar/phar.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1360,7 +1360,7 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_open_or_create_filename(ze
13601360

13611361
if (ext_len > 3 && (z = memchr(ext_str, 't', ext_len)) && ((ext_str + ext_len) - z >= 2) && !memcmp(z + 1, "ar", 2)) {
13621362
/* assume tar-based phar */
1363-
return phar_open_or_create_tar(ZSTR_VAL(fname), ZSTR_LEN(fname), alias, alias_len, is_data, options, pphar, error);
1363+
return phar_open_or_create_tar(fname, alias, alias_len, is_data, options, pphar, error);
13641364
}
13651365

13661366
return phar_create_or_parse_filename(ZSTR_VAL(fname), ZSTR_LEN(fname), alias, alias_len, is_data, options, pphar, error);

ext/phar/phar_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ zend_result phar_copy_on_write(phar_archive_data **pphar);
446446
/* tar functions in tar.c */
447447
bool phar_is_tar(const char *buf, const char *fname);
448448
zend_result phar_parse_tarfile(php_stream* fp, const char *fname, size_t fname_len, const char *alias, size_t alias_len, phar_archive_data** pphar, uint32_t compression, char **error);
449-
ZEND_ATTRIBUTE_NONNULL_ARGS(1, 7, 8) zend_result phar_open_or_create_tar(char *fname, size_t fname_len, char *alias, size_t alias_len, bool is_data, uint32_t options, phar_archive_data** pphar, char **error);
449+
ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_open_or_create_tar(zend_string *fname, char *alias, size_t alias_len, bool is_data, uint32_t options, phar_archive_data** pphar, char **error);
450450
ZEND_ATTRIBUTE_NONNULL_ARGS(1, 4) int phar_tar_flush(phar_archive_data *phar, zend_string *user_stub, bool is_default_stub, char **error);
451451

452452
/* zip functions in zip.c */

ext/phar/tar.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,10 @@ bool phar_is_tar(const char *buf, const char *fname) /* {{{ */
126126
}
127127
/* }}} */
128128

129-
ZEND_ATTRIBUTE_NONNULL_ARGS(1, 7, 8) zend_result phar_open_or_create_tar(char *fname, size_t fname_len, char *alias, size_t alias_len, bool is_data, uint32_t options, phar_archive_data** pphar, char **error) /* {{{ */
129+
ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_open_or_create_tar(zend_string *fname, char *alias, size_t alias_len, bool is_data, uint32_t options, phar_archive_data** pphar, char **error) /* {{{ */
130130
{
131131
phar_archive_data *phar;
132-
zend_result ret = phar_create_or_parse_filename(fname, fname_len, alias, alias_len, is_data, options, &phar, error);
132+
zend_result ret = phar_create_or_parse_filename(ZSTR_VAL(fname), ZSTR_LEN(fname), alias, alias_len, is_data, options, &phar, error);
133133

134134
if (FAILURE == ret) {
135135
return FAILURE;
@@ -150,7 +150,7 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 7, 8) zend_result phar_open_or_create_tar(char *f
150150
}
151151

152152
/* we've reached here - the phar exists and is a regular phar */
153-
spprintf(error, 4096, "phar tar error: \"%s\" already exists as a regular phar and must be deleted from disk prior to creating as a tar-based phar", fname);
153+
spprintf(error, 4096, "phar tar error: \"%s\" already exists as a regular phar and must be deleted from disk prior to creating as a tar-based phar", ZSTR_VAL(fname));
154154
return FAILURE;
155155
}
156156
/* }}} */

0 commit comments

Comments
 (0)