]> granicus.if.org Git - php/commitdiff
Add test for previous commit
authorNikita Popov <nikita.ppv@gmail.com>
Thu, 23 Mar 2017 21:36:55 +0000 (22:36 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Thu, 23 Mar 2017 21:37:17 +0000 (22:37 +0100)
ext/standard/tests/serialize/invalid_signs_in_lengths.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/serialize/invalid_signs_in_lengths.phpt b/ext/standard/tests/serialize/invalid_signs_in_lengths.phpt
new file mode 100644 (file)
index 0000000..6288cfc
--- /dev/null
@@ -0,0 +1,55 @@
+--TEST--
+Lengths and references are not signed
+--FILE--
+<?php
+
+var_dump(unserialize('s:+1:"x";'));
+var_dump(unserialize('s:-1:"x";'));
+var_dump(unserialize('a:+0:{}'));
+var_dump(unserialize('a:-0:{}'));
+var_dump(unserialize('O:+8:"stdClass":0:{}'));
+var_dump(unserialize('O:-8:"stdClass":0:{}'));
+var_dump(unserialize('C:+11:"ArrayObject":0:{}'));
+var_dump(unserialize('C:-11:"ArrayObject":0:{}'));
+var_dump(unserialize('a:1:{i:0;r:+1;}'));
+var_dump(unserialize('a:1:{i:0;r:-1;}'));
+var_dump(unserialize('a:1:{i:0;R:+1;}'));
+var_dump(unserialize('a:1:{i:0;R:-1;}'));
+
+?>
+--EXPECTF--
+Notice: unserialize(): Error at offset 0 of 9 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 0 of 9 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 0 of 7 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 0 of 7 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 0 of 20 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 0 of 20 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 0 of 24 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 0 of 24 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 9 of 15 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 9 of 15 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 9 of 15 bytes in %s on line %d
+bool(false)
+
+Notice: unserialize(): Error at offset 9 of 15 bytes in %s on line %d
+bool(false)