|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-04-09 09:35 UTC] krakjoe@php.net
-Status: Open
+Status: Verified
[2016-04-09 17:02 UTC] laruence@php.net
[2016-04-09 17:02 UTC] laruence@php.net
-Status: Verified
+Status: Closed
[2016-07-20 11:32 UTC] davey@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 10:00:01 2025 UTC |
Description: ------------ If the same member variable is returned twice from __sleep() and that member variable is a reference, the serialized output errors when unserialized. This "worked" before PHP7 and the error during unserialization appears in PHP 7.0.3 and later. Test script: --------------- <?php class C { } class A { public $b; function __construct() { $this->b = new C(); } function __sleep() { return array("b", "b"); } } $a = new A(); var_dump(unserialize(serialize($a))); Expected result: ---------------- Notice: member variable "b" returned from __sleep() multiple times or alternately, silently ignore the duplication. Actual result: -------------- Notice: unserialize(): Error at offset 43 of 44 bytes in /in/0FNkge on line 6 bool(false)