File tree Expand file tree Collapse file tree 5 files changed +251
-0
lines changed
Expand file tree Collapse file tree 5 files changed +251
-0
lines changed Original file line number Diff line number Diff line change 1+ --TEST--
2+ Bug #53437 (Crash when using unserialized DatePeriod instance), variation 2
3+ --FILE--
4+ <?php
5+ $ s = 'O:10:"DatePeriod":0:{} ' ;
6+
7+ $ dp = unserialize ($ s );
8+
9+ var_dump ($ dp );
10+ ?>
11+ ==DONE==
12+ --EXPECTF--
13+ Fatal error: Invalid serialization data for DatePeriod object in %sbug53437_var1.php on line %d
Original file line number Diff line number Diff line change 1+ --TEST--
2+ Bug #53437 DateInterval basic serialization
3+ --FILE--
4+ <?php
5+ $ di0 = new DateInterval ('P2Y4DT6H8M ' );
6+
7+ $ s = serialize ($ di0 );
8+
9+ $ di1 = unserialize ($ s );
10+
11+ var_dump ($ di0 , $ di1 );
12+
13+ ?>
14+ ==DONE==
15+ --EXPECT--
16+ object(DateInterval)#1 (15) {
17+ ["y"]=>
18+ int(2)
19+ ["m"]=>
20+ int(0)
21+ ["d"]=>
22+ int(4)
23+ ["h"]=>
24+ int(6)
25+ ["i"]=>
26+ int(8)
27+ ["s"]=>
28+ int(0)
29+ ["weekday"]=>
30+ int(0)
31+ ["weekday_behavior"]=>
32+ int(0)
33+ ["first_last_day_of"]=>
34+ int(0)
35+ ["invert"]=>
36+ int(0)
37+ ["days"]=>
38+ bool(false)
39+ ["special_type"]=>
40+ int(0)
41+ ["special_amount"]=>
42+ int(0)
43+ ["have_weekday_relative"]=>
44+ int(0)
45+ ["have_special_relative"]=>
46+ int(0)
47+ }
48+ object(DateInterval)#2 (15) {
49+ ["y"]=>
50+ int(2)
51+ ["m"]=>
52+ int(0)
53+ ["d"]=>
54+ int(4)
55+ ["h"]=>
56+ int(6)
57+ ["i"]=>
58+ int(8)
59+ ["s"]=>
60+ int(0)
61+ ["weekday"]=>
62+ int(0)
63+ ["weekday_behavior"]=>
64+ int(0)
65+ ["first_last_day_of"]=>
66+ int(0)
67+ ["invert"]=>
68+ int(0)
69+ ["days"]=>
70+ int(0)
71+ ["special_type"]=>
72+ int(0)
73+ ["special_amount"]=>
74+ int(0)
75+ ["have_weekday_relative"]=>
76+ int(0)
77+ ["have_special_relative"]=>
78+ int(0)
79+ }
80+ ==DONE==
Original file line number Diff line number Diff line change 1+ --TEST--
2+ Bug #53437 DateInterval unserialize bad data, 32 bit
3+ --SKIPIF--
4+ <?php if (PHP_INT_SIZE != 4 ) { die ('skip 32 bit only ' ); } ?>
5+ --FILE--
6+ <?php
7+ $ s = 'O:12:"DateInterval":15:{s:1:"y";s:1:"2";s:1:"m";s:1:"0";s:1:"d";s:3:"bla";s:1:"h";s:1:"6";s:1:"i";s:1:"8";s:1:"s";s:1:"0";s:7:"weekday";i:10;s:16:"weekday_behavior";i:10;s:17:"first_last_day_of";i:0;s:6:"invert";i:0;s:4:"days";s:4:"aoeu";s:12:"special_type";i:0;s:14:"special_amount";s:21:"234523452345234532455";s:21:"have_weekday_relative";i:21474836489;s:21:"have_special_relative";s:3:"bla";} ' ;
8+
9+ $ di = unserialize ($ s );
10+ var_dump ($ di );
11+
12+ ?>
13+ ==DONE==
14+ --EXPECT--
15+ object(DateInterval)#1 (15) {
16+ ["y"]=>
17+ int(2)
18+ ["m"]=>
19+ int(0)
20+ ["d"]=>
21+ int(0)
22+ ["h"]=>
23+ int(6)
24+ ["i"]=>
25+ int(8)
26+ ["s"]=>
27+ int(0)
28+ ["weekday"]=>
29+ int(10)
30+ ["weekday_behavior"]=>
31+ int(10)
32+ ["first_last_day_of"]=>
33+ int(0)
34+ ["invert"]=>
35+ int(0)
36+ ["days"]=>
37+ int(0)
38+ ["special_type"]=>
39+ int(0)
40+ ["special_amount"]=>
41+ int(-1)
42+ ["have_weekday_relative"]=>
43+ int(9)
44+ ["have_special_relative"]=>
45+ int(0)
46+ }
47+ ==DONE==
Original file line number Diff line number Diff line change 1+ --TEST--
2+ Bug #53437 (Check that var_dump out is the same using the whole object or it's single properties), variation 4
3+ --INI--
4+ date.timezone = Europe/Berlin
5+ --FILE--
6+ <?php
7+ $ dt = new DateTime ('2009-10-11 ' );
8+
9+ $ df = $ dt ->diff (new DateTime ('2009-10-13 ' ));
10+
11+ var_dump ($ df ,
12+ $ df ->y ,
13+ $ df ->m ,
14+ $ df ->d ,
15+ $ df ->h ,
16+ $ df ->i ,
17+ $ df ->s ,
18+ $ df ->invert ,
19+ $ df ->days );
20+
21+ ?>
22+ ==DONE==
23+ --EXPECTF--
24+ object(DateInterval)#%d (15) {
25+ ["y"]=>
26+ int(0)
27+ ["m"]=>
28+ int(0)
29+ ["d"]=>
30+ int(2)
31+ ["h"]=>
32+ int(0)
33+ ["i"]=>
34+ int(0)
35+ ["s"]=>
36+ int(0)
37+ ["weekday"]=>
38+ int(0)
39+ ["weekday_behavior"]=>
40+ int(0)
41+ ["first_last_day_of"]=>
42+ int(0)
43+ ["invert"]=>
44+ int(0)
45+ ["days"]=>
46+ int(2)
47+ ["special_type"]=>
48+ int(0)
49+ ["special_amount"]=>
50+ int(0)
51+ ["have_weekday_relative"]=>
52+ int(0)
53+ ["have_special_relative"]=>
54+ int(0)
55+ }
56+ int(0)
57+ int(0)
58+ int(2)
59+ int(0)
60+ int(0)
61+ int(0)
62+ int(0)
63+ int(2)
64+ ==DONE==
Original file line number Diff line number Diff line change 1+ --TEST--
2+ Bug #53437 DateInterval unserialize bad data, 64 bit
3+ --SKIPIF--
4+ <?php if (PHP_INT_SIZE != 8 ) { die ('skip true 64 bit only ' ); } ?>
5+ --FILE--
6+ <?php
7+ $ s = 'O:12:"DateInterval":15:{s:1:"y";s:1:"2";s:1:"m";s:1:"0";s:1:"d";s:3:"bla";s:1:"h";s:1:"6";s:1:"i";s:1:"8";s:1:"s";s:1:"0";s:7:"weekday";i:10;s:16:"weekday_behavior";i:10;s:17:"first_last_day_of";i:0;s:6:"invert";i:0;s:4:"days";s:4:"aoeu";s:12:"special_type";i:0;s:14:"special_amount";s:21:"234523452345234532455";s:21:"have_weekday_relative";i:21474836489;s:21:"have_special_relative";s:3:"bla";} ' ;
8+
9+ $ di = unserialize ($ s );
10+ var_dump ($ di );
11+
12+ ?>
13+ ==DONE==
14+ --EXPECT--
15+ object(DateInterval)#1 (15) {
16+ ["y"]=>
17+ int(2)
18+ ["m"]=>
19+ int(0)
20+ ["d"]=>
21+ int(0)
22+ ["h"]=>
23+ int(6)
24+ ["i"]=>
25+ int(8)
26+ ["s"]=>
27+ int(0)
28+ ["weekday"]=>
29+ int(10)
30+ ["weekday_behavior"]=>
31+ int(10)
32+ ["first_last_day_of"]=>
33+ int(0)
34+ ["invert"]=>
35+ int(0)
36+ ["days"]=>
37+ int(0)
38+ ["special_type"]=>
39+ int(0)
40+ ["special_amount"]=>
41+ int(9223372036854775807)
42+ ["have_weekday_relative"]=>
43+ int(9)
44+ ["have_special_relative"]=>
45+ int(0)
46+ }
47+ ==DONE==
You can’t perform that action at this time.
0 commit comments