Annotation of embedaddon/php/ext/gd/tests/createfromwbmp2.phpt, revision 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 bundled GD library\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: Warning: imagecreatefromwbmp(): gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully
! 46: in %s on line %d
! 47:
! 48: Warning: imagecreatefromwbmp(): '%s' is not a valid WBMP file in %s on line %d
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>