Annotation of embedaddon/php/ext/standard/tests/array/bug28974.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #28974 (array_(p)slice() treats large lengths incorrectly - overflow)
3: --FILE--
4: <?php
5: $a = $b = $c = array(0,1,2,3,4,5);
6: print_r($a);
7: // this is ok:
8: print_r(array_slice($a,2,2147483645));
9:
10: // this is wrong:
11: print_r(array_slice($a,2,2147483646));
12: echo 'print_r(array_splice($a,2,1));'."\n";
13: print_r(array_splice($a,2,1));
14: echo "\$a is :";
15: print_r($a);
16: echo 'print_r(array_splice($b,2,2147483645));'."\n";
17: print_r(array_splice($b,2,2147483645));
18: echo "\$b is :";
19: print_r($b);
20:
21: // this is wrong:
22: echo 'print_r(array_splice($c,2,2147483646));'."\n";
23: print_r(array_splice($c,2,2147483646));
24: echo "\$c is :";
25: print_r($c);
26: ?>
27: --EXPECT--
28: Array
29: (
30: [0] => 0
31: [1] => 1
32: [2] => 2
33: [3] => 3
34: [4] => 4
35: [5] => 5
36: )
37: Array
38: (
39: [0] => 2
40: [1] => 3
41: [2] => 4
42: [3] => 5
43: )
44: Array
45: (
46: [0] => 2
47: [1] => 3
48: [2] => 4
49: [3] => 5
50: )
51: print_r(array_splice($a,2,1));
52: Array
53: (
54: [0] => 2
55: )
56: $a is :Array
57: (
58: [0] => 0
59: [1] => 1
60: [2] => 3
61: [3] => 4
62: [4] => 5
63: )
64: print_r(array_splice($b,2,2147483645));
65: Array
66: (
67: [0] => 2
68: [1] => 3
69: [2] => 4
70: [3] => 5
71: )
72: $b is :Array
73: (
74: [0] => 0
75: [1] => 1
76: )
77: print_r(array_splice($c,2,2147483646));
78: Array
79: (
80: [0] => 2
81: [1] => 3
82: [2] => 4
83: [3] => 5
84: )
85: $c is :Array
86: (
87: [0] => 0
88: [1] => 1
89: )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>