£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --TEST-- Unserialize invalid data --SKIPIF-- = 70200) { echo "Skip php 7.1 or 7.0 required\n"; } ?> --FILE-- {"1"} = "manual"; $datas = array( 87817, -1, array(1,2,3,"testing" => 10, "foo"), true, false, 0.187182, "dakjdh98389\000", null, (object)array(1,2,3), $o, ); error_reporting(0); foreach ($datas as $data) { $str = igbinary_serialize($data); $len = strlen($str); // truncated for ($i = 0; $i < $len - 1; $i++) { $v = igbinary_unserialize(substr($str, 0, $i)); if (is_object($data) && $v !== null && $v == $data) { continue; } elseif ($v !== null && $v != FALSE && $v !== $data) { echo "output at $i:\n"; var_dump($v); echo "vs.\n"; var_dump($data); } } // padded $str2 = $str . "98398afa\000y21_ "; $v = igbinary_unserialize($str2); if ($v !== NULL) { echo "Should return null with padding\n"; var_dump($v); } $str3 = $str . "\x00"; $v = igbinary_unserialize($str3); if ($v !== NULL) { echo "Should return null with single byte of padding\n"; var_dump($v); } } echo "Success!\n"; ?> --EXPECT-- Success!