Commit 6c7ef569d69 for php.net

commit 6c7ef569d69f68fc782014516f397b45ab741fab
Author: Gina Peter Banyard <girgias@php.net>
Date:   Thu Apr 23 17:32:29 2026 +0100

    ext/phar: refactor phar_build_entry_data() to use a zend_string* for fname (#21844)

diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index a898151a7ee..3cf1b7fb39d 100644
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -1342,7 +1342,7 @@ static zend_always_inline void phar_call_method_with_unwrap(zend_object *obj, co
 }

 /* This is the same as phar_get_or_create_entry_data(), but allows overriding metadata via SplFileInfo. */
-static phar_entry_data *phar_build_entry_data(char *fname, size_t fname_len, char *path, size_t path_len, char **error, zval *file_info)
+static phar_entry_data *phar_build_entry_data(zend_string *fname, char *path, size_t path_len, char **error, zval *file_info)
 {
 	uint32_t timestamp;

@@ -1368,7 +1368,7 @@ static phar_entry_data *phar_build_entry_data(char *fname, size_t fname_len, cha
 		timestamp = time(NULL);
 	}

-	return phar_get_or_create_entry_data(fname, fname_len, path, path_len, "w+b", 0, error, true, timestamp);
+	return phar_get_or_create_entry_data(ZSTR_VAL(fname), ZSTR_LEN(fname), path, path_len, "w+b", 0, error, true, timestamp);
 }

 static int phar_build(zend_object_iterator *iter, void *puser) /* {{{ */
@@ -1631,7 +1631,7 @@ static int phar_build(zend_object_iterator *iter, void *puser) /* {{{ */
 		return ZEND_HASH_APPLY_KEEP;
 	}

-	data = phar_build_entry_data(ZSTR_VAL(phar_obj->archive->fname), ZSTR_LEN(phar_obj->archive->fname), str_key, str_key_len, &error, value);
+	data = phar_build_entry_data(phar_obj->archive->fname, str_key, str_key_len, &error, value);
 	if (!data) {
 		zend_throw_exception_ex(spl_ce_BadMethodCallException, 0, "Entry %s cannot be created: %s", str_key, error);
 		efree(error);