[php-src] PHP-8.6: [`%pS` migration] Use `%pS` in ext/session (#23168)
| From: | Daniel Scherzer via GitHub | Date: | Mon, 05 Oct 2026 18:22:21 +0000 |
| Subject: | [php-src] PHP-8.6: [`%pS` migration] Use `%pS` in ext/session (#23168) | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-141981@lists.php.net to get a copy of this message | ||
Author: Daniel Scherzer (DanielEScherzer)
Committer: GitHub (web-flow)
Pusher: DanielEScherzer
Date: 2026-10-05T11:22:18-07:00
Commit: https://github.com/php/php-src/commit/464c95a78ecec30c2a16b5495a66f6a6e1014f69
Raw diff: https://github.com/php/php-src/commit/464c95a78ecec30c2a16b5495a66f6a6e1014f69.diff
[
%pS migration] Use %pS in ext/session (#23168)
Changed paths:
M ext/session/mod_files.c
M ext/session/session.c
Diff:
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c
index c3c616c6479d..12205a1bc442 100644
--- a/ext/session/mod_files.c
+++ b/ext/session/mod_files.c
@@ -288,12 +288,12 @@ static int ps_files_cleanup_dir(const zend_string *dirname, zend_long
maxlifetim
dir = opendir(ZSTR_VAL(dirname));
if (!dir) {
- php_error_docref(NULL, E_NOTICE, "ps_files_cleanup_dir: opendir(%s) failed: %s (%d)",
ZSTR_VAL(dirname), strerror(errno), errno);
+ php_error_docref(NULL, E_NOTICE, "ps_files_cleanup_dir: opendir(%pS) failed: %s (%d)",
dirname, strerror(errno), errno);
return -1;
}
if (ZSTR_LEN(dirname) >= MAXPATHLEN) {
- php_error_docref(NULL, E_NOTICE, "ps_files_cleanup_dir: dirname(%s) is too long",
ZSTR_VAL(dirname));
+ php_error_docref(NULL, E_NOTICE, "ps_files_cleanup_dir: dirname(%pS) is too long",
dirname);
closedir(dir);
return -1;
}
diff --git a/ext/session/session.c b/ext/session/session.c
index ef97f856499f..a37a6d12c2c2 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -136,7 +136,7 @@ static inline void php_session_headers_already_sent_error(int severity, const ch
static inline void php_session_session_already_started_error(int severity, const char *message) {
if (PS(session_started_filename) != NULL) {
- php_error_docref(NULL, severity, "%s (started from %s on line %"PRIu32")",
message, ZSTR_VAL(PS(session_started_filename)), PS(session_started_lineno));
+ php_error_docref(NULL, severity, "%s (started from %pS on line %"PRIu32")",
message, PS(session_started_filename), PS(session_started_lineno));
} else if (PS(auto_start)) {
/* This option can't be changed at runtime, so we can assume it's because of this */
php_error_docref(NULL, severity, "%s (session started automatically)", message);
@@ -434,7 +434,7 @@ static zend_result php_session_initialize(void)
if (open_status == FAILURE) {
php_session_abort();
if (!EG(exception)) {
- php_error_docref(NULL, E_WARNING, "Failed to initialize storage module: %s (path:
%s)", PS(mod)->s_name, ZSTR_VAL(PS(save_path)));
+ php_error_docref(NULL, E_WARNING, "Failed to initialize storage module: %s (path:
%pS)", PS(mod)->s_name, PS(save_path));
}
return FAILURE;
}
@@ -449,7 +449,7 @@ static zend_result php_session_initialize(void)
if (!PS(id)) {
php_session_abort();
if (!EG(exception)) {
- zend_throw_error(NULL, "Failed to create session ID: %s (path: %s)",
PS(mod)->s_name, ZSTR_VAL(PS(save_path)));
+ zend_throw_error(NULL, "Failed to create session ID: %s (path: %pS)",
PS(mod)->s_name, PS(save_path));
}
return FAILURE;
}
@@ -485,7 +485,7 @@ static zend_result php_session_initialize(void)
php_session_abort();
/* FYI: Some broken save handlers return FAILURE for non-existent session ID, this is incorrect
*/
if (!EG(exception)) {
- php_error_docref(NULL, E_WARNING, "Failed to read session data: %s (path: %s)",
PS(mod)->s_name, ZSTR_VAL(PS(save_path)));
+ php_error_docref(NULL, E_WARNING, "Failed to read session data: %s (path: %pS)",
PS(mod)->s_name, PS(save_path));
}
return FAILURE;
}
@@ -549,14 +549,14 @@ static void php_session_save_current_state(bool write)
if (!PS(mod_user_implemented)) {
php_error_docref(NULL, E_WARNING, "Failed to write session data (%s). Please "
"verify that the current setting of session.save_path "
- "is correct (%s)",
+ "is correct (%pS)",
PS(mod)->s_name,
- ZSTR_VAL(PS(save_path)));
+ PS(save_path));
} else {
zend_string *callable_name = zend_get_callable_name(handler_function);
php_error_docref(NULL, E_WARNING, "Failed to write session data using user "
- "defined save handler. (session.save_path: %s, handler: %s)",
ZSTR_VAL(PS(save_path)),
- ZSTR_VAL(callable_name));
+ "defined save handler. (session.save_path: %pS, handler: %pS)", PS(save_path),
+ callable_name);
zend_string_release_ex(callable_name, false);
}
}
@@ -603,7 +603,7 @@ static PHP_INI_MH(OnUpdateSaveHandler)
if (PG(modules_activated) && !new_module) {
/* Do not output error when restoring ini options. */
if (stage != ZEND_INI_STAGE_DEACTIVATE) {
- php_error_docref(NULL, err_type, "Session save handler \"%s\" cannot be
found", ZSTR_VAL(new_value));
+ php_error_docref(NULL, err_type, "Session save handler \"%pS\" cannot be
found", new_value);
}
return FAILURE;
@@ -641,7 +641,7 @@ static PHP_INI_MH(OnUpdateSerializer)
/* Do not output error when restoring ini options. */
if (stage != ZEND_INI_STAGE_DEACTIVATE) {
- php_error_docref(NULL, err_type, "Serialization handler \"%s\" cannot be
found", ZSTR_VAL(new_value));
+ php_error_docref(NULL, err_type, "Serialization handler \"%pS\" cannot be
found", new_value);
}
return FAILURE;
}
@@ -658,7 +658,7 @@ static PHP_INI_MH(OnUpdateSaveDir)
if (zend_str_has_nul_byte(new_value)) {
if (stage != ZEND_INI_STAGE_DEACTIVATE) {
- php_error_docref(NULL, E_WARNING, "\"%s\" must not contain null bytes",
ZSTR_VAL(entry->name));
+ php_error_docref(NULL, E_WARNING, "\"%pS\" must not contain null bytes",
entry->name);
}
return FAILURE;
}
@@ -708,7 +708,7 @@ static PHP_INI_MH(OnUpdateName)
/* Do not output error when restoring ini options. */
if (stage != ZEND_INI_STAGE_DEACTIVATE) {
- php_error_docref(NULL, err_type, "session.name \"%s\" must not be numeric, empty,
contain null bytes or any of the following characters \""
SESSION_FORBIDDEN_CHARS_FOR_ERROR_MSG "\"", ZSTR_VAL(new_value));
+ php_error_docref(NULL, err_type, "session.name \"%pS\" must not be numeric,
empty, contain null bytes or any of the following characters \""
SESSION_FORBIDDEN_CHARS_FOR_ERROR_MSG "\"", new_value);
}
return FAILURE;
}
@@ -760,7 +760,7 @@ static PHP_INI_MH(OnUpdateSessionStr)
if (new_value && zend_str_has_nul_byte(new_value)) {
if (stage != ZEND_INI_STAGE_DEACTIVATE) {
- php_error_docref(NULL, E_WARNING, "\"%s\" must not contain null bytes",
ZSTR_VAL(entry->name));
+ php_error_docref(NULL, E_WARNING, "\"%pS\" must not contain null bytes",
entry->name);
}
return FAILURE;
}
@@ -933,7 +933,7 @@ static PHP_INI_MH(OnUpdateRefererCheck)
if (zend_str_has_nul_byte(new_value)) {
if (stage != ZEND_INI_STAGE_DEACTIVATE) {
- php_error_docref(NULL, E_WARNING, "\"%s\" must not contain null bytes",
ZSTR_VAL(entry->name));
+ php_error_docref(NULL, E_WARNING, "\"%pS\" must not contain null bytes",
entry->name);
}
return FAILURE;
}
@@ -1113,7 +1113,7 @@ PS_SERIALIZER_ENCODE_FUNC(php)
if (memchr(ZSTR_VAL(key), PS_DELIMITER, ZSTR_LEN(key))) {
smart_str_free(&buf);
fail = true;
- php_error_docref(NULL, E_WARNING, "Failed to write session data. Data contains invalid key
\"%s\"", ZSTR_VAL(key));
+ php_error_docref(NULL, E_WARNING, "Failed to write session data. Data contains invalid key
\"%pS\"", key);
break;
}
smart_str_appendc(&buf, PS_DELIMITER);
@@ -1900,7 +1900,7 @@ PHP_FUNCTION(session_set_cookie_params)
samesite = zval_get_string(value);
found++;
} else {
- php_error_docref(NULL, E_WARNING, "Argument #1 ($lifetime_or_options) contains an
unrecognized key \"%s\"", ZSTR_VAL(key));
+ php_error_docref(NULL, E_WARNING, "Argument #1 ($lifetime_or_options) contains an
unrecognized key \"%pS\"", key);
}
} else {
php_error_docref(NULL, E_WARNING, "Argument #1 ($lifetime_or_options) cannot contain
numeric keys");
@@ -2058,7 +2058,7 @@ PHP_FUNCTION(session_module_name)
RETURN_THROWS();
}
if (!_php_find_ps_module(ZSTR_VAL(name))) {
- php_error_docref(NULL, E_WARNING, "Session handler module \"%s\" cannot be
found", ZSTR_VAL(name));
+ php_error_docref(NULL, E_WARNING, "Session handler module \"%pS\" cannot be
found", name);
zval_ptr_dtor_str(return_value);
RETURN_FALSE;
@@ -2379,7 +2379,7 @@ PHP_FUNCTION(session_regenerate_id)
PS(mod)->s_close(&PS(mod_data));
PS(session_status) = php_session_none;
if (!EG(exception)) {
- php_error_docref(NULL, E_WARNING, "Session object destruction failed. ID: %s (path:
%s)", PS(mod)->s_name, ZSTR_VAL(PS(save_path)));
+ php_error_docref(NULL, E_WARNING, "Session object destruction failed. ID: %s (path:
%pS)", PS(mod)->s_name, PS(save_path));
}
RETURN_FALSE;
}
@@ -2398,7 +2398,7 @@ PHP_FUNCTION(session_regenerate_id)
if (ret == FAILURE) {
PS(mod)->s_close(&PS(mod_data));
PS(session_status) = php_session_none;
- php_error_docref(NULL, E_WARNING, "Session write failed. ID: %s (path: %s)",
PS(mod)->s_name, ZSTR_VAL(PS(save_path)));
+ php_error_docref(NULL, E_WARNING, "Session write failed. ID: %s (path: %pS)",
PS(mod)->s_name, PS(save_path));
RETURN_FALSE;
}
}
@@ -2418,7 +2418,7 @@ PHP_FUNCTION(session_regenerate_id)
if (open_status == FAILURE) {
PS(session_status) = php_session_none;
if (!EG(exception)) {
- zend_throw_error(NULL, "Failed to open session: %s (path: %s)", PS(mod)->s_name,
ZSTR_VAL(PS(save_path)));
+ zend_throw_error(NULL, "Failed to open session: %s (path: %pS)", PS(mod)->s_name,
PS(save_path));
}
RETURN_THROWS();
}
@@ -2427,7 +2427,7 @@ PHP_FUNCTION(session_regenerate_id)
if (!PS(id)) {
PS(session_status) = php_session_none;
if (!EG(exception)) {
- zend_throw_error(NULL, "Failed to create new session ID: %s (path: %s)",
PS(mod)->s_name, ZSTR_VAL(PS(save_path)));
+ zend_throw_error(NULL, "Failed to create new session ID: %s (path: %pS)",
PS(mod)->s_name, PS(save_path));
}
RETURN_THROWS();
}
@@ -2443,7 +2443,7 @@ PHP_FUNCTION(session_regenerate_id)
PS(mod)->s_close(&PS(mod_data));
PS(session_status) = php_session_none;
if (!EG(exception)) {
- zend_throw_error(NULL, "Failed to create session ID by collision: %s (path: %s)",
PS(mod)->s_name, ZSTR_VAL(PS(save_path)));
+ zend_throw_error(NULL, "Failed to create session ID by collision: %s (path: %pS)",
PS(mod)->s_name, PS(save_path));
}
RETURN_THROWS();
}
@@ -2457,7 +2457,7 @@ PHP_FUNCTION(session_regenerate_id)
PS(mod)->s_close(&PS(mod_data));
PS(session_status) = php_session_none;
if (!EG(exception)) {
- zend_throw_error(NULL, "Failed to create(read) session ID: %s (path: %s)",
PS(mod)->s_name, ZSTR_VAL(PS(save_path)));
+ zend_throw_error(NULL, "Failed to create(read) session ID: %s (path: %pS)",
PS(mod)->s_name, PS(save_path));
}
RETURN_THROWS();
}
@@ -2679,8 +2679,8 @@ PHP_FUNCTION(session_start)
tmp = zval_get_long(value);
} else {
if (is_numeric_str_function(Z_STR_P(value), &tmp, NULL) != IS_LONG) {
- zend_type_error("%s(): Option \"%s\" value must be of type compatible with
int, \"%s\" given",
- get_active_function_name(), ZSTR_VAL(str_idx), Z_STRVAL_P(value)
+ zend_type_error("%s(): Option \"%pS\" value must be of type compatible with
int, \"%pS\" given",
+ get_active_function_name(), str_idx, Z_STR_P(value)
);
RETURN_THROWS();
}
@@ -2690,14 +2690,14 @@ PHP_FUNCTION(session_start)
zend_string *tmp_val;
zend_string *val = zval_get_tmp_string(value, &tmp_val);
if (php_session_start_set_ini(str_idx, val) == FAILURE) {
- php_error_docref(NULL, E_WARNING, "Setting option \"%s\" failed",
ZSTR_VAL(str_idx));
+ php_error_docref(NULL, E_WARNING, "Setting option \"%pS\" failed",
str_idx);
}
zend_tmp_string_release(tmp_val);
}
break;
default:
- zend_type_error("%s(): Option \"%s\" must be of type string|int|bool, %s
given",
- get_active_function_name(), ZSTR_VAL(str_idx), zend_zval_value_name(value)
+ zend_type_error("%s(): Option \"%pS\" must be of type string|int|bool, %s
given",
+ get_active_function_name(), str_idx, zend_zval_value_name(value)
);
RETURN_THROWS();
}