PHP :: Bug #28325 :: serialization of objects
| Bug #28325 | serialization of objects | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2004-05-08 12:12 UTC | Modified: | 2005-02-05 03:40 UTC |
|
||||||||||
| From: | antonr at game dot permonline dot ru | Assigned: | moriyoshi (profile) | |||||||||||
| Status: | Closed | Package: | Class/Object related | |||||||||||
| PHP Version: | 4.3.9, 5.0.1 | OS: | * | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2004-05-08 12:12 UTC] antonr at game dot permonline dot ru
Description:
------------
I have one object with property "myclass1", referenced to second object. And property "myclass2" of second object, referenced to first object.
When I serialize the first object and unserialize the result string, I get three objects: two copies of first object and a copy of second object.
Reproduce code:
---------------
<?php
class MyClass1
{ public $myclass2;
public $number;
}
class MyClass2
{ public $myclass1;
}
$a = new MyClass1;
$a->number = 1;
$a->myclass2 = new MyClass2;
$a->myclass2->myclass1 = $a;
$b = unserialize(serialize($a));
$b->number = 2;
echo $b->number;
echo "\n";
echo $b->myclass2->myclass1->number;
?>
Expected result:
----------------
If serialization was made correctly, then we would get that
$b and $b->myclass2->myclass1 are references to one instance, and the output of script must be:
2
2
Actual result:
--------------
The actual output is
2
1
this means, that $b and $b->myclass2->myclass1 aren't references to the same instance
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2004-05-08 12:15 UTC] antonr at game dot permonline dot ru
[2004-07-05 10:00 UTC] moriyoshi@php.net