Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ext/phar/func_interceptors.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ static zend_string* phar_get_name_for_relative_paths(zend_string *filename, bool

zend_string *name = NULL;
if (using_include_path) {
name = phar_find_in_include_path(filename, NULL);
name = phar_find_in_include_path(filename);
if (!name) {
/* this file is not in the phar, use the original path */
zend_string_release_ex(arch, false);
Expand Down
2 changes: 1 addition & 1 deletion ext/phar/phar.c
Original file line number Diff line number Diff line change
Expand Up @@ -3166,7 +3166,7 @@ zend_op_array *(*phar_orig_compile_file)(zend_file_handle *file_handle, int type

static zend_string *phar_resolve_path(zend_string *filename)
{
zend_string *ret = phar_find_in_include_path(filename, NULL);
zend_string *ret = phar_find_in_include_path(filename);
if (!ret) {
ret = phar_save_resolve_path(filename);
}
Expand Down
2 changes: 1 addition & 1 deletion ext/phar/phar_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ const char *phar_compress_filter(const phar_entry_info *entry, bool return_unkno
/* void phar_remove_virtual_dirs(phar_archive_data *phar, char *filename, size_t filename_len); */
void phar_add_virtual_dirs(phar_archive_data *phar, const char *filename, size_t filename_len);
zend_result phar_mount_entry(phar_archive_data *phar, const char *filename, size_t filename_len, char *path, size_t path_len);
zend_string *phar_find_in_include_path(const zend_string *file, phar_archive_data **pphar);
zend_string *phar_find_in_include_path(const zend_string *file);
zend_string* phar_fix_filepath(const char *path, size_t path_length, bool use_cwd);
ZEND_ATTRIBUTE_NONNULL phar_entry_info * phar_open_jit(const phar_archive_data *phar, phar_entry_info *entry, char **error);
void phar_parse_metadata_lazy(const char *buffer, phar_metadata_tracker *tracker, uint32_t zip_metadata_len, bool persistent);
Expand Down
30 changes: 2 additions & 28 deletions ext/phar/util.c
Original file line number Diff line number Diff line change
Expand Up @@ -264,19 +264,13 @@ zend_result phar_mount_entry(phar_archive_data *phar, const char *filename, size
}
/* }}} */

zend_string *phar_find_in_include_path(const zend_string *filename, phar_archive_data **pphar) /* {{{ */
zend_string *phar_find_in_include_path(const zend_string *filename) /* {{{ */
{
zend_string *ret;
char *path;
zend_string *arch;
phar_archive_data *phar;

if (pphar) {
*pphar = NULL;
} else {
pphar = &phar;
}

if (!zend_is_executing() || !PHAR_G(cwd)) {
return NULL;
}
Expand Down Expand Up @@ -314,11 +308,7 @@ zend_string *phar_find_in_include_path(const zend_string *filename, phar_archive
zend_string_release_ex(arch, false);
return NULL;
}
splitted:
if (pphar) {
*pphar = phar;
}

splitted:;
zend_string *test = phar_fix_filepath(ZSTR_VAL(filename), ZSTR_LEN(filename), true);
if (ZSTR_VAL(test)[0] == '/') {
if (zend_hash_str_exists(&(phar->manifest), ZSTR_VAL(test) + 1, ZSTR_LEN(test) - 1)) {
Expand Down Expand Up @@ -347,22 +337,6 @@ zend_string *phar_find_in_include_path(const zend_string *filename, phar_archive
ret = php_resolve_path(ZSTR_VAL(filename), ZSTR_LEN(filename), path);
efree(path);

if (ret && zend_string_starts_with_literal_ci(ret, "phar://")) {
/* found phar:// */
arch = phar_split_fname(ZSTR_VAL(fname), ZSTR_LEN(fname), NULL, 1, 0);
if (!arch) {
return ret;
}

*pphar = zend_hash_find_ptr(&(PHAR_G(phar_fname_map)), arch);

if (!*pphar && PHAR_G(manifest_cached)) {
*pphar = zend_hash_find_ptr(&cached_phars, arch);
}

zend_string_release_ex(arch, false);
}

return ret;
}
/* }}} */
Expand Down
Loading