Skip to content

Properly initialize PS(mod) on RINIT #6795

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

cmb69
Copy link
Member

@cmb69 cmb69 commented Mar 22, 2021

We can't do that in php_rinit_session_globals() since that function
is called by PHP function session_destroy() too, but in that case we
don't want to reset PS(mod).


This fixes the failing --repeat 2 ext/session/tests/bug80889.phpt and similar issues.

We can't do that in `php_rinit_session_globals()` since that function
is called by PHP function `session_destroy()` too, but in that case we
don't want to reset PS(mod).
@cmb69 cmb69 added the Bug label Mar 22, 2021
@@ -2856,7 +2856,8 @@ static int php_rinit_session(zend_bool auto_start) /* {{{ */
{
php_rinit_session_globals();

if (PS(mod) == NULL) {
PS(mod) = NULL;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to also do this for PS(serializer) below?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's not necessary, since OnUpdateSerializer handles this (any unknown handler will set it to NULL). OnUpdateSaveHandler doesn't do this for user handlers (these are special, since they can only work for session_set_save_handler().

@php-pulls php-pulls closed this in 688e56d Mar 23, 2021
@cmb69 cmb69 deleted the cmb/reset-ps-mod branch March 23, 2021 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants