summaryrefslogtreecommitdiff
path: root/ext/date/tests/bug62852.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/date/tests/bug62852.phpt
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/date/tests/bug62852.phpt')
-rw-r--r--ext/date/tests/bug62852.phpt36
1 files changed, 36 insertions, 0 deletions
diff --git a/ext/date/tests/bug62852.phpt b/ext/date/tests/bug62852.phpt
new file mode 100644
index 0000000..26de510
--- /dev/null
+++ b/ext/date/tests/bug62852.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Bug #62852 (Unserialize invalid DateTime causes crash)
+--INI--
+date.timezone=GMT
+--XFAIL--
+bug is not fixed yet
+--FILE--
+<?php
+$s1 = 'O:8:"DateTime":3:{s:4:"date";s:20:"10007-06-07 03:51:49";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}';
+$s2 = 'O:3:"Foo":3:{s:4:"date";s:20:"10007-06-07 03:51:49";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}';
+
+global $foo;
+
+class Foo extends DateTime {
+ function __wakeup() {
+ global $foo;
+ $foo = $this;
+ parent::__wakeup();
+ }
+}
+
+// Old test case
+try {
+ unserialize( $s1 );
+} catch ( Exception $e ) {}
+
+// My test case
+try {
+ unserialize( $s2 );
+} catch ( Exception $e ) {}
+var_dump( $foo );
+
+echo "okey";
+?>
+--EXPECTF--
+okey