php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #66292 Serializable interface implementation returns recursive when object serialized
Submitted: 2013-12-13 21:39 UTC Modified: 2013-12-15 09:50 UTC
From: will at johnstonclan dot net Assigned:
Status: Duplicate Package: Scripting Engine problem
PHP Version: 5.5.7 OS: Mac OS X 10.9
Private report: No CVE-ID: None
 [2013-12-13 21:39 UTC] will at johnstonclan dot net
Description:
------------
When a class is created which implements Serializable, and the serialize method instantiates another class which is then serialized and returned, and several instances of the first class are created in an array, and then entire array is serialized, instances after the first one are considered recursive. If this is unserialized, PHP segfaults.

Test script:
---------------
https://gist.github.com/will-in-wi/7951652

If you uncomment the last line, the entire script segfaults.

Expected result:
----------------
a:9:{i:0;C:10:"HelloWorld":39:{O:6:"Simple":1:{s:4:"test";s:4:"str1";}}i:1;C:10:"HelloWorld":4:{O:6:"Simple":1:{s:4:"test";s:4:"str2";}}i:2;C:10:"HelloWorld":4:{O:6:"Simple":1:{s:4:"test";s:4:"str3";}}i:3;C:10:"HelloWorld":4:{O:6:"Simple":1:{s:4:"test";s:4:"str4";}}i:4;C:10:"HelloWorld":4:{O:6:"Simple":1:{s:4:"test";s:4:"str5";}}i:5;C:10:"HelloWorld":4:{O:6:"Simple":1:{s:4:"test";s:4:"str6";}}i:6;C:10:"HelloWorld":4:{O:6:"Simple":1:{s:4:"test";s:4:"str7";}}i:7;C:10:"HelloWorld":4:{O:6:"Simple":1:{s:4:"test";s:4:"str8";}}i:8;C:10:"HelloWorld":4:{O:6:"Simple":1:{s:4:"test";s:4:"str9";}}}

Actual result:
--------------
a:9:{i:0;C:10:"HelloWorld":39:{O:6:"Simple":1:{s:4:"test";s:4:"str1";}}i:1;C:10:"HelloWorld":4:{r:3;}i:2;C:10:"HelloWorld":4:{r:3;}i:3;C:10:"HelloWorld":4:{r:3;}i:4;C:10:"HelloWorld":4:{r:3;}i:5;C:10:"HelloWorld":4:{r:3;}i:6;C:10:"HelloWorld":4:{r:3;}i:7;C:10:"HelloWorld":4:{r:3;}i:8;C:10:"HelloWorld":4:{r:3;}}

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2013-12-13 21:40 UTC] will at johnstonclan dot net
This might be related to #36424. Since that bug has been fixed for a while, I opted to open a new one.
 [2013-12-15 09:50 UTC] bwoebi@php.net
-Status: Open +Status: Duplicate
 [2013-12-15 09:50 UTC] bwoebi@php.net
Duplicate of #66085
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Oct 11 21:01:27 2024 UTC