diff options
Diffstat (limited to 'ext/standard/tests/serialize/002.phpt')
-rw-r--r-- | ext/standard/tests/serialize/002.phpt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ext/standard/tests/serialize/002.phpt b/ext/standard/tests/serialize/002.phpt new file mode 100644 index 0000000000..3085d1cf4f --- /dev/null +++ b/ext/standard/tests/serialize/002.phpt @@ -0,0 +1,44 @@ +--TEST-- +Bug #25378 (unserialize() crashes with invalid data) +--FILE-- +<?php +var_dump(unserialize('b:0;')); +var_dump(unserialize('b:1;')); +var_dump(unserialize('i:823;')); +var_dump(unserialize('s:0:"";')); +var_dump(unserialize('s:3:"foo";')); +var_dump(unserialize('a:1:{i:0;s:2:"12";}')); +var_dump(unserialize('a:2:{i:0;a:0:{}i:1;a:0:{}}')); +var_dump(unserialize('a:3:{i:0;s:3:"foo";i:1;s:3:"bar";i:2;s:3:"baz";}')); +var_dump(unserialize('O:8:"stdClass":0:{}')); +?> +===DONE=== +--EXPECTF-- +bool(false) +bool(true) +int(823) +string(0) "" +string(3) "foo" +array(1) { + [0]=> + string(2) "12" +} +array(2) { + [0]=> + array(0) { + } + [1]=> + array(0) { + } +} +array(3) { + [0]=> + string(3) "foo" + [1]=> + string(3) "bar" + [2]=> + string(3) "baz" +} +object(stdClass)#%d (0) { +} +===DONE=== |