bug #31566 [Security] fixed a fatal error when upgrading from 4.2 (fabpot)
This PR was merged into the 4.3 branch.
Discussion
----------
[Security] fixed a fatal error when upgrading from 4.2
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This is needed when upgrading a project from 4.2 to 4.3 to avoid a fatal PHP error when unserializing a token serialized on 4.2.
Commits
-------
cd63446f9b
[Security] fixed a fatal error when upgrading from 4.2
This commit is contained in:
commit
31ba038126
@ -199,7 +199,15 @@ abstract class AbstractToken implements TokenInterface
|
|||||||
*/
|
*/
|
||||||
public function __unserialize(array $data): void
|
public function __unserialize(array $data): void
|
||||||
{
|
{
|
||||||
[$this->user, $this->authenticated, $this->roles, $this->attributes, $this->roleNames] = $data;
|
[$this->user, $this->authenticated, $this->roles, $this->attributes] = $data;
|
||||||
|
|
||||||
|
// migration path to 4.3+
|
||||||
|
if (null === $this->roleNames = $data[4] ?? null) {
|
||||||
|
$this->roleNames = [];
|
||||||
|
foreach ($this->roles as $role) {
|
||||||
|
$this->roleNames[] = (string) $role;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user