Commit 1b1c4ad3a44 for php.net
commit 1b1c4ad3a4463f8891f3d08a055b42cc09de045f
Author: Gina Peter Banyard <girgias@php.net>
Date: Thu Apr 23 17:32:06 2026 +0100
ext/phar: refactor Phar::loadPhar() to use a zend_string* (#21837)
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index 7380385f110..a898151a7ee 100644
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -967,16 +967,17 @@ PHP_METHOD(Phar, mapPhar)
/* {{{ Loads any phar archive with an alias */
PHP_METHOD(Phar, loadPhar)
{
- char *fname, *alias = NULL, *error;
- size_t fname_len, alias_len = 0;
+ zend_string *fname;
+ char *alias = NULL, *error;
+ size_t alias_len = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "p|s!", &fname, &fname_len, &alias, &alias_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "P|s!", &fname, &alias, &alias_len) == FAILURE) {
RETURN_THROWS();
}
phar_request_initialize();
- RETVAL_BOOL(phar_open_from_filename(fname, fname_len, alias, alias_len, REPORT_ERRORS, NULL, &error) == SUCCESS);
+ RETVAL_BOOL(phar_open_from_filename(ZSTR_VAL(fname), ZSTR_LEN(fname), alias, alias_len, REPORT_ERRORS, NULL, &error) == SUCCESS);
if (error) {
zend_throw_exception_ex(phar_ce_PharException, 0, "%s", error);