From 7a3d3323b9da8890b7bfb0034c277d482746455e Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Wed, 28 Apr 2010 14:35:42 +0000 Subject: [PATCH] - - Fixed #51128, imagefill() doesn't work with large images --- NEWS | 1 + ext/gd/libgd/gd.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 1fc1f95390..a52393d738 100644 --- a/NEWS +++ b/NEWS @@ -54,6 +54,7 @@ PHP NEWS (Ilia) - Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when an invalid option is provided). (Ilia) +- Fixed bug #51128 (imagefill() doesn't work with large images). (Pierre) - Fixed bug #51086 (DBA DB4 doesn't work with Berkeley DB 4.8). (Chris Jones) - Fixed bug #51062 (DBA DB4 uses mismatched headers and libraries). (Chris Jones) - Fixed bug #51023 (filter doesn't detect int overflows with GCC 4.4). diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index f7411e6397..94934f5993 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -1938,9 +1938,9 @@ void gdImageFillToBorder (gdImagePtr im, int x, int y, int border, int color) struct seg {int y, xl, xr, dy;}; /* max depth of stack */ -#define FILL_MAX 1200000 +#define FILL_MAX ((int)(im->sy*im->sx)/4) #define FILL_PUSH(Y, XL, XR, DY) \ - if (sp=0 && Y+(DY)=0 && Y+(DY)y = Y; sp->xl = XL; sp->xr = XR; sp->dy = DY; sp++;} #define FILL_POP(Y, XL, XR, DY) \ -- 2.50.1