|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2019-08-13 17:00 UTC] nicolas dot grekas+php at gmail dot com
Description: ------------ This is related to the new serialization mechanism of PHP 7.4. I don't have a better reproducer because when I try to isolate the crash, it works... Here is my reproducer, sorry I don't have a better one for now: Clone https://github.com/nicolas-grekas/symfony checkout branch "ve-php74" Then run ./phpunit src/Symfony/Component/VarExporter/ --do-not-cache-result --filter testExport#6 boom What the code does is that it: - uses newInstanceWithoutConstructor to create an ArrayIterator - clones that instance - calls __unserialize on the clone instance with a valid payload The crash happens after these step, when e.g. calling print_r() on the object. When done "manually", it works. But in the context of the test case, it segfaults. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 17:00:01 2025 UTC |
I believe the root cause here is this: $a = new ArrayObject; $u = [ 0, [], [], ]; $a->__unserialize($u); var_dump($u); array(3) { [0]=> int(0) [1]=> NULL <-- changed to NULL [2]=> array(0) { } }