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>