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>