PATH:
opt
/
alt
/
tests
/
alt-php52-pecl-igbinary_2.0.8-1.el8
/
tests
--TEST-- b0rked random data test --SKIPIF-- --FILE-- <?php if(!extension_loaded('igbinary')) { dl('igbinary.' . PHP_SHLIB_SUFFIX); } function test() { $serialized = igbinary_serialize(null); $serialized = substr($serialized, 0, -1); $length = mt_rand(1, 255); for ($i = 0; $i < $length; ++$i) { $serialized .= chr(mt_rand(0, 255)); } // if returned null everything is OK if (($unserialized = igbinary_unserialize($serialized)) === null) { return true; } error_reporting(E_ALL); // whole data is read? $reserialized = igbinary_serialize($unserialized); if ($serialized === $reserialized) { return true; } if (is_string($reserialized) && strlen($reserialized) < strlen($serialized) && strncmp($reserialized, $serialized, 0) === 0) { // TODO: Fix this in releases, after verifying that session and APCU don't have additional data such as null bytes appended. // If there are unused bytes, then the code should assume that the provided data is corrupt, and return false. return true; } echo bin2hex($serialized), "\n"; echo bin2hex($reserialized), "\n"; var_dump($unserialized); return false; } mt_srand(0xface); for ($i = 0; $i < 100; ++$i) { error_reporting(E_ERROR | E_PARSE); if (!test()) break; } ?> --EXPECT--
[-] igbinary_015c.phpt
[edit]
[-] igbinary_043.phpt
[edit]
[-] igbinary_057.phpt
[edit]
[-] igbinary_bug72134.phpt
[edit]
[-] igbinary_045.phpt
[edit]
[-] igbinary_045b.phpt
[edit]
[-] igbinary_063.phpt
[edit]
[-] igbinary_069.phpt
[edit]
[-] igbinary_052.phpt
[edit]
[-] igbinary_004.phpt
[edit]
[-] igbinary_017.phpt
[edit]
[-] igbinary_053.phpt
[edit]
[-] igbinary_032.phpt
[edit]
[-] igbinary_058.phpt
[edit]
[-] igbinary_005.phpt
[edit]
[-] igbinary_046b.phpt
[edit]
[-] igbinary_063_php72.phpt
[edit]
[-] igbinary_064.phpt
[edit]
[-] igbinary_044.phpt
[edit]
[-] igbinary_033.phpt
[edit]
[-] igbinary_040.phpt
[edit]
[-] igbinary_046c.phpt
[edit]
[-] igbinary_049b.phpt
[edit]
[-] igbinary_006.phpt
[edit]
[-] igbinary_054.phpt
[edit]
[-] igbinary_063_php7.phpt
[edit]
[-] igbinary_046d.phpt
[edit]
[-] igbinary_046.phpt
[edit]
[-] igbinary_021.phpt
[edit]
[-] igbinary_034.phpt
[edit]
[-] igbinary_059.phpt
[edit]
[-] igbinary_068.phpt
[edit]
[-] igbinary_029.phpt
[edit]
[-] igbinary_014.phpt
[edit]
[-] igbinary_025.phpt
[edit]
[-] igbinary_016.phpt
[edit]
[-] igbinary_048b.phpt
[edit]
[-] igbinary_024.phpt
[edit]
[-] igbinary_055.phpt
[edit]
[-] igbinary_048.phpt
[edit]
[-] igbinary_009.phpt
[edit]
[-] igbinary_051.phpt
[edit]
[-] igbinary_023.phpt
[edit]
[-] igbinary_012.phpt
[edit]
[-] igbinary_030.phpt
[edit]
[-] igbinary_058b.phpt
[edit]
[-] igbinary_065.phpt
[edit]
[-] igbinary_018.phpt
[edit]
[-] igbinary_015.phpt
[edit]
[-] igbinary_030_php7.phpt
[edit]
[-] igbinary_062.phpt
[edit]
[-] igbinary_042.phpt
[edit]
[-] igbinary_026b.phpt
[edit]
[-] igbinary_002.phpt
[edit]
[-] igbinary_041.phpt
[edit]
[-] igbinary_031.phpt
[edit]
[-] igbinary_027.phpt
[edit]
[-] igbinary_020.phpt
[edit]
[-] igbinary_022.phpt
[edit]
[-] igbinary_030_php72.phpt
[edit]
[-] igbinary_015b.phpt
[edit]
[-] igbinary_007.phpt
[edit]
[-] igbinary_049.phpt
[edit]
[-] igbinary_050.phpt
[edit]
[+]
..
[-] igbinary_013.phpt
[edit]
[-] igbinary_010.phpt
[edit]
[-] igbinary_028.phpt
[edit]
[-] igbinary_045c.phpt
[edit]
[-] igbinary_001.phpt
[edit]
[-] igbinary_003.phpt
[edit]
[-] igbinary_066.phpt
[edit]
[-] igbinary_008.phpt
[edit]
[-] igbinary_009b.phpt
[edit]
[-] igbinary_026.phpt
[edit]
[-] igbinary_047.phpt
[edit]