Expected Test Failure Report for ext/date/tests/bug53437.phpt ('Bug #53437 (Crash when using unserialized DatePeriod instance)')
Script
1:
<?php 2: $dp = new DatePeriod(new DateTime('2010-01-01 UTC'), new DateInterval('P1D'), 2); 3: 4: echo "Original:\r\n"; 5: foreach($dp as $dt) { 6: echo $dt->format('Y-m-d H:i:s')."\r\n"; 7: } 8: echo "\r\n"; 9: var_dump($dp); 10: 11: $ser = serialize($dp); // $ser is: O:10:"DatePeriod":0:{} 12: 13: // Create dangerous instance 14: $dpu = unserialize($ser); // $dpu has invalid values??? 15: var_dump($dpu); 16: 17: echo "Unserialized:\r\n"; 18: // ???which leads to CRASH: 19: foreach($dpu as $dt) { 20: echo $dt->format('Y-m-d H:i:s')."\r\n"; 21: } 22: ?> 23:
Expected
Output
Original:
2010-01-01 00:00:00
2010-01-02 00:00:00
2010-01-03 00:00:00
object(DatePeriod)#1 (0) {
}
object(DatePeriod)#2 (0) {
}
Unserialized:
Diff
001+ Original:
002+ 2010-01-01 00:00:00
003+ 2010-01-02 00:00:00
004+ 2010-01-03 00:00:00
006+ object(DatePeriod)#1 (0) {
007+ }
008+ object(DatePeriod)#2 (0) {
009+ }
010+ Unserialized:
Generated at Sun, 19 May 2013 20:27:25 +0000 (2 days ago)
|