Annotation of embedaddon/php/ext/standard/tests/array/bug28974.phpt, revision 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>