Commit bd8e73473ee for php
commit bd8e73473ee77bb0227bcceb6766cd02a21d4aa3
Merge: 90fb1e6799e ce04b3fd980
Author: Weilin Du <weilindu@php.net>
Date: Wed Nov 11 19:58:42 2026 +0800
Merge branch 'PHP-8.6'
On master, remove the obsolete error cleanup and its unused options
parameter. phar_get_archive() returns NULL on errors, so a returned
archive has no error message to free.
* PHP-8.6:
Fix error buffer cleanup in phar_open_parsed_phar() (#25376)
diff --cc ext/phar/phar.c
index bee5fe796eb,bc961e10a20..53691bea587
--- a/ext/phar/phar.c
+++ b/ext/phar/phar.c
@@@ -489,7 -489,7 +489,6 @@@ static zend_result phar_open_parsed_pha
size_t fname_len,
/* copyable & hash update */ zend_string *alias,
bool is_data,
-- uint32_t options,
phar_archive_data** pphar,
char **error
) {
@@@ -554,10 -554,11 +553,6 @@@
*pphar = NULL;
}
-- if (phar && error && !(options & REPORT_ERRORS)) {
- efree(error);
- efree(*error);
- *error = NULL;
-- }
--
return FAILURE;
}
}
@@@ -1344,7 -1345,7 +1339,7 @@@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 5, 6) ze
return FAILURE;
}
check_file:
-- if (phar_open_parsed_phar(ZSTR_VAL(fname), ZSTR_LEN(fname), alias, is_data, options, test, &my_error) == SUCCESS) {
++ if (phar_open_parsed_phar(ZSTR_VAL(fname), ZSTR_LEN(fname), alias, is_data, test, &my_error) == SUCCESS) {
*pphar = *test;
if ((*test)->is_data && !(*test)->is_tar && !(*test)->is_zip) {
@@@ -1546,7 -1547,7 +1541,7 @@@ zend_result phar_open_from_filename
is_data = true;
}
-- if (phar_open_parsed_phar(fname, fname_len, alias, is_data, options, pphar, error) == SUCCESS) {
++ if (phar_open_parsed_phar(fname, fname_len, alias, is_data, pphar, error) == SUCCESS) {
return SUCCESS;
} else if (error && *error) {
return FAILURE;
@@@ -2295,7 -2296,7 +2290,7 @@@ ZEND_ATTRIBUTE_NONNULL_ARGS(2) zend_res
return FAILURE;
}
-- if (phar_open_parsed_phar(ZSTR_VAL(fname), ZSTR_LEN(fname), alias, false, REPORT_ERRORS, NULL, NULL) == SUCCESS) {
++ if (phar_open_parsed_phar(ZSTR_VAL(fname), ZSTR_LEN(fname), alias, false, NULL, NULL) == SUCCESS) {
return SUCCESS;
}