1--TEST-- 2Bug #25378 (unserialize() crashes with invalid data) 3--FILE-- 4<?php 5var_dump(unserialize("s:-1:\"\";")); 6var_dump(unserialize("i:823")); 7var_dump(unserialize("O:8:\"stdClass :0:{}")); 8var_dump(unserialize("O:8:\"stdClass\"+0:{}")); 9var_dump(unserialize("O:1000:\"stdClass\":0:{}")); 10var_dump(unserialize("a:2:{i:0;s:2:\"12\":")); 11var_dump(unserialize("a:2:{i:0;s:2:\"12\";i:1;s:3000:\"123")); 12var_dump(unserialize("a:2:{i:0;s:2:\"12\"+i:1;s:3:\"123\";}")); 13var_dump(unserialize("a:2:{i:0;s:2:\"12\";i:1;s:3:\"123\";")); 14var_dump(unserialize("s:3000:\"123\";")); 15var_dump(unserialize("s:3000:\"123")); 16var_dump(unserialize("s:3:\"123;")); 17var_dump(unserialize("s:0:\"123\";")); 18?> 19===DONE=== 20--EXPECTF-- 21Notice: unserialize(): Error at offset 0 of 8 bytes in %sbug25378.php on line %d 22bool(false) 23 24Notice: unserialize(): Error at offset 0 of 5 bytes in %sbug25378.php on line %d 25bool(false) 26 27Notice: unserialize(): Error at offset 13 of 19 bytes in %sbug25378.php on line %d 28bool(false) 29 30Notice: unserialize(): Error at offset 14 of 19 bytes in %sbug25378.php on line %d 31bool(false) 32 33Notice: unserialize(): Error at offset 2 of 22 bytes in %sbug25378.php on line %d 34bool(false) 35 36Notice: unserialize(): Error at offset 17 of 18 bytes in %sbug25378.php on line %d 37bool(false) 38 39Notice: unserialize(): Error at offset 24 of 33 bytes in %sbug25378.php on line %d 40bool(false) 41 42Notice: unserialize(): Error at offset 17 of 33 bytes in %sbug25378.php on line %d 43bool(false) 44 45Notice: unserialize(): Error at offset 33 of 32 bytes in %sbug25378.php on line %d 46bool(false) 47 48Notice: unserialize(): Error at offset 2 of 13 bytes in %sbug25378.php on line %d 49bool(false) 50 51Notice: unserialize(): Error at offset 2 of 11 bytes in %sbug25378.php on line %d 52bool(false) 53 54Notice: unserialize(): Error at offset 8 of 9 bytes in %sbug25378.php on line %d 55bool(false) 56 57Notice: unserialize(): Error at offset 5 of 10 bytes in %sbug25378.php on line %d 58bool(false) 59===DONE=== 60