1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
--TEST--
Properly free duplicate properties when unserializing invalid data
--FILE--
<?php
class Test {
public $pub;
public function __sleep() {
// TODO: Could start detecting duplicates and emitting a notice as well
return ["pub", "pub"];
}
}
$t = new Test();
$t->pub = new Test();
$s = igbinary_serialize($t);
echo urlencode($s), "\n";
$unser = igbinary_unserialize($s);
var_dump($unser);
?>
--EXPECT--
%00%00%00%02%17%04Test%14%02%11%03pub%1A%00%14%02%0E%01%00%0E%01%00%0E%01%22%01
object(Test)#3 (1) {
["pub"]=>
object(Test)#4 (1) {
["pub"]=>
NULL
}
}
|