]> granicus.if.org Git - php/commitdiff
Add XFAIL test for bug #62852
authorXinchen Hui <laruence@php.net>
Sat, 15 Sep 2012 03:29:47 +0000 (11:29 +0800)
committerXinchen Hui <laruence@php.net>
Sat, 15 Sep 2012 03:29:47 +0000 (11:29 +0800)
NEWS
ext/date/tests/bug62852.phpt [new file with mode: 0644]

diff --git a/NEWS b/NEWS
index c9d1f0ed14d62b14bc05ae74897bda4176f3e2c1..7e52997f5925d71b1ef3507c9a6853933c199568 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -37,10 +37,6 @@ PHP                                                                        NEWS
 - CURL:
   . Fixed bug #62839 (curl_copy_handle segfault with CURLOPT_FILE). (Pierrick)
 
-- DateTime:
-  . Fixed bug #62852 (Unserialize invalid DateTime causes crash).
-    (reeze.xia@gmail.com)
-
 - Intl:
   . Fix null pointer dereferences in some classes of ext/intl. (Gustavo)
 
diff --git a/ext/date/tests/bug62852.phpt b/ext/date/tests/bug62852.phpt
new file mode 100644 (file)
index 0000000..2c23138
--- /dev/null
@@ -0,0 +1,33 @@
+--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 );
+?>
+--EXPECTF--