#49821 [Com]: unserialize of references

From: Date: Fri, 09 Oct 2009 14:05:23 +0000
Subject: #49821 [Com]: unserialize of references
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-143419@lists.php.net to get a copy of this message
 ID:               49821
 Comment by:       liz2k dot b8 at gmail dot com
 Reported By:      liz2k dot b8 at gmail dot com
 Status:           Open
 Bug Type:         *Programming Data Structures
 Operating System: linux
 PHP Version:      5.2.11
 New Comment:

And one more wrong work Example:

	$a = new stdClass;
	$a->v2 = &$a;
	$a->v1 = $a;
	
	echo serialize($a)."\n";
	
	$b = &unserialize(serialize($a));
	
	echo serialize($b);

Expected result:
----------------
O:8:"stdClass":2:{s:2:"v2";R:1;s:2:"v1";r:1;}
O:8:"stdClass":2:{s:2:"v2";R:1;s:2:"v1";r:1;}

Actual result:
--------------
O:8:"stdClass":2:{s:2:"v2";R:1;s:2:"v1";r:1;}
O:8:"stdClass":2:{s:2:"v2";r:1;s:2:"v1";r:1;}


Previous Comments:
------------------------------------------------------------------------

[2009-10-09 13:05:44] liz2k dot b8 at gmail dot com

Description:
------------
function unserialize return wrong result of reference

Reproduce code:
---------------
---
From manual page: function.serialize
---
	$a = new stdClass;
	$a->v1 = $a;
	$a->v2 = &$a;
	
	echo serialize($a)."\n";
	
	$b = &unserialize(serialize($a));
	
	echo serialize($b);


Expected result:
----------------
O:8:"stdClass":2:{s:2:"v1";r:1;s:2:"v2";R:1;}
O:8:"stdClass":2:{s:2:"v1";r:1;s:2:"v2";R:1;}

Actual result:
--------------
O:8:"stdClass":2:{s:2:"v1";r:1;s:2:"v2";R:1;}
O:8:"stdClass":2:{s:2:"v1";R:1;s:2:"v2";R:1;}


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=49821&edit=1



Thread (7 messages)

« previous php.bugs (#143419) next »