Annotation of embedaddon/php/ext/gd/tests/createfromwbmp2_extern.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: imagecreatefromwbmp with invalid wbmp
                      3: --SKIPIF--
                      4: <?php
                      5:        if (!function_exists('imagecreatefromwbmp')) die("skip gd extension not available\n");
                      6:        if (GD_BUNDLED) die("skip requires extern GD\n");
                      7: ?>
                      8: --FILE--
                      9: <?php
                     10: $filename = dirname(__FILE__) . '/_tmp.wbmp';
                     11: $fp = fopen($filename,"wb");
                     12: if (!$fp) {
                     13:        exit("Failed to create <$filename>");
                     14: }
                     15: 
                     16: //write header
                     17: $c = 0;
                     18: fputs($fp, chr($c), 1);
                     19: fputs($fp, $c, 1);
                     20: 
                     21: //write width = 2^32 / 4 + 1
                     22: $c = 0x84;
                     23: fputs($fp, chr($c), 1);
                     24: $c = 0x80;
                     25: fputs($fp, chr($c), 1);
                     26: fputs($fp, chr($c), 1);
                     27: fputs($fp, chr($c), 1);
                     28: $c = 0x01;
                     29: fputs($fp, chr($c), 1);
                     30: 
                     31: /*write height = 4*/
                     32: $c = 0x04;
                     33: fputs($fp, chr($c), 1);
                     34: 
                     35: /*write some data to cause overflow*/
                     36: for ($i=0; $i<10000; $i++) {
                     37:        fwrite($fp, chr($c), 1);
                     38: }
                     39: 
                     40: fclose($fp);
                     41: $im = imagecreatefromwbmp($filename);
                     42: unlink($filename);
                     43: ?>
                     44: --EXPECTF--
                     45: gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully
                     46: 
                     47: Warning: imagecreatefromwbmp(): '%s_tmp.wbmp' is not a valid WBMP file in %s on line %d

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