Annotation of embedaddon/php/ext/mcrypt/tests/bug37595.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #37595 (mcrypt_generic calculates data length in wrong way)
        !             3: --SKIPIF--
        !             4: <?php if (!extension_loaded("mcrypt")) print "skip"; ?>
        !             5: --FILE--
        !             6: <?php
        !             7: 
        !             8: $cipher_alg = MCRYPT_BLOWFISH;
        !             9: $skey = array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
        !            10: $key='';
        !            11: foreach($skey as $t) {
        !            12:            $key .= chr($t);
        !            13:                }
        !            14:  
        !            15: $sstr = array(1,2,3,4,5,6,7,8);
        !            16: $iv='';
        !            17: foreach($sstr as $s) {
        !            18:     $iv .= chr($s);
        !            19: }
        !            20:  
        !            21: $str = "12345678";
        !            22:  
        !            23: $td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_CBC,'');
        !            24:  
        !            25: $data = Array(
        !            26:        '12345678',
        !            27:        '123456789',
        !            28:        "\x001234567",
        !            29:        '',
        !            30:        '1234567812345678',
        !            31:        '12345678123456789'
        !            32:        );
        !            33: 
        !            34: foreach ($data as $val) {
        !            35:        mcrypt_generic_init($td, $key, $iv);
        !            36:        $enc = mcrypt_generic($td, $val);
        !            37:        
        !            38:        mcrypt_generic_deinit($td);
        !            39:        
        !            40:        mcrypt_generic_init($td, $key, $iv);
        !            41:        var_dump($dec = @mdecrypt_generic($td, $enc));
        !            42: }
        !            43: 
        !            44: mcrypt_module_close($td);
        !            45: 
        !            46: echo "Done\n";
        !            47: ?>
        !            48: --EXPECTF--    
        !            49: string(8) "12345678"
        !            50: string(16) "123456789"
        !            51: string(8) "1234567"
        !            52: 
        !            53: Warning: mcrypt_generic(): An empty string was passed in %s on line %d
        !            54: bool(false)
        !            55: string(16) "1234567812345678"
        !            56: string(24) "12345678123456789"
        !            57: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>