From: Pierre Joye Date: Sat, 14 Apr 2007 17:33:15 +0000 (+0000) Subject: - MFH: libgd #74, gdImageFilledArc, huge CPU usage with large angles X-Git-Tag: php-5.2.2RC2~88 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ffaaaa4df06a3eebc17829bcd309751c8a0a1253;p=php - MFH: libgd #74, gdImageFilledArc, huge CPU usage with large angles --- diff --git a/NEWS b/NEWS index 22db2104ac..cd6f7612d6 100644 --- a/NEWS +++ b/NEWS @@ -27,8 +27,10 @@ PHP NEWS colors (Rob Leslie) . Improved thread safety of the gif support (Roman Nemecek, Nuno, Pierre) . Use the dimension of the GIF frame to create the destination image (Pierre) - . Load only once the local color map (Pierre) + . Load only once the local color map from a GIF data (Pierre) . Improved thread safety of the freetype cache (Scott MacVicar, Nuno, Pierre) + . imagearc huge CPU usage with large angles (Pierre) + - Upgraded libraries bundled in the Windows distribution. (Edin) . c-client (imap) to version 2006e . libpq (PostgreSQL) to version 8.2.3 diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 8fae6245fa..4901594b70 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -1645,6 +1645,14 @@ void gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e int lx = 0, ly = 0; int fx = 0, fy = 0; + if (s > 360) { + s = s % 360; + } + + if (e > 360) { + e = e % 360; + } + while (s<0) { s += 360; }