1
0
mirror of https://github.com/php/php-src.git synced 2026-04-25 08:58:28 +02:00
Files
Tim Düsterhus dd8de1e726 Promote unserialize() notices to warning (#9629)
* Unserialize: Migrate "Unexpected end of serialized data" to E_WARNING

* Unserialize: Migrate "Error at offset %d of %d bytes" to E_WARNING

* Unserialize: Migrate "%s is returned from __sleep() multiple times" to E_WARNING

* Add NEWS for “Promote unserialize() notices to warning”
2022-11-15 19:36:38 +01:00

58 lines
1.8 KiB
PHP

--TEST--
Bug #25378 (unserialize() crashes with invalid data)
--FILE--
<?php
var_dump(unserialize("s:-1:\"\";"));
var_dump(unserialize("i:823"));
var_dump(unserialize("O:8:\"stdClass :0:{}"));
var_dump(unserialize("O:8:\"stdClass\"+0:{}"));
var_dump(unserialize("O:1000:\"stdClass\":0:{}"));
var_dump(unserialize("a:2:{i:0;s:2:\"12\":"));
var_dump(unserialize("a:2:{i:0;s:2:\"12\";i:1;s:3000:\"123"));
var_dump(unserialize("a:2:{i:0;s:2:\"12\"+i:1;s:3:\"123\";}"));
var_dump(unserialize("a:2:{i:0;s:2:\"12\";i:1;s:3:\"123\";"));
var_dump(unserialize("s:3000:\"123\";"));
var_dump(unserialize("s:3000:\"123"));
var_dump(unserialize("s:3:\"123;"));
var_dump(unserialize("s:0:\"123\";"));
?>
--EXPECTF--
Warning: unserialize(): Error at offset 0 of 8 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 0 of 5 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 13 of 19 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 14 of 19 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 2 of 22 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 17 of 18 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 24 of 33 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 17 of 33 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 32 of 32 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 2 of 13 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 2 of 11 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 8 of 9 bytes in %s on line %d
bool(false)
Warning: unserialize(): Error at offset 5 of 10 bytes in %s on line %d
bool(false)