From: Pierre Joye Date: Mon, 8 May 2006 11:50:47 +0000 (+0000) Subject: - MFH: #37360, bad gif size X-Git-Tag: php-5.2.0RC1~643 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4428076eae133b1570bc3d83dad496e37a77f9b4;p=php - MFH: #37360, bad gif size --- diff --git a/ext/gd/libgd/gd_gif_in.c b/ext/gd/libgd/gd_gif_in.c index 59c698d871..3944aad66b 100644 --- a/ext/gd/libgd/gd_gif_in.c +++ b/ext/gd/libgd/gd_gif_in.c @@ -147,6 +147,9 @@ gdImageCreateFromGifCtx(gdIOCtxPtr fd) Background = buf[5]; AspectRatio = buf[6]; + imw = LM_to_uint(buf[0],buf[1]); + imh = LM_to_uint(buf[2],buf[3]); + if (BitSet(buf[4], LOCALCOLORMAP)) { /* Global Colormap */ if (ReadColorMap(fd, BitPixel, ColorMap)) { return 0; @@ -182,9 +185,6 @@ gdImageCreateFromGifCtx(gdIOCtxPtr fd) bitPixel = 1<<((buf[8]&0x07)+1); - imw = LM_to_uint(buf[4],buf[5]); - imh = LM_to_uint(buf[6],buf[7]); - if (!useGlobalColormap) { if (ReadColorMap(fd, bitPixel, localColorMap)) { return 0; diff --git a/ext/gd/tests/bug37360.gif b/ext/gd/tests/bug37360.gif new file mode 100644 index 0000000000..3f9e6c5e40 Binary files /dev/null and b/ext/gd/tests/bug37360.gif differ diff --git a/ext/gd/tests/bug37360.phpt b/ext/gd/tests/bug37360.phpt new file mode 100644 index 0000000000..dce22e7c6f --- /dev/null +++ b/ext/gd/tests/bug37360.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #37360 (gdimagecreatefromgif, bad image sizes) +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +resource(%d) of type (gd)