From: Pierre Joye Date: Sun, 25 Sep 2005 12:13:49 +0000 (+0000) Subject: - MFH #33220, infinite loop while loading invalid GIF (nlopees) X-Git-Tag: php-4.4.1RC1~17 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aa648fbb4d758e56fbdb32607bec5729b0d1663c;p=php - MFH #33220, infinite loop while loading invalid GIF (nlopees) NB: It's getting really annoying to apply patches to all these branches Can we no define 4.x and 5.0.x as dead for 99.99% of the fixes? --- diff --git a/ext/gd/libgd/gd_gif_in.c b/ext/gd/libgd/gd_gif_in.c index a5cd664461..e8817d7720 100644 --- a/ext/gd/libgd/gd_gif_in.c +++ b/ext/gd/libgd/gd_gif_in.c @@ -259,13 +259,13 @@ DoExtension(gdIOCtx *fd, int label, int *Transparent) if ((buf[0] & 0x1) != 0) *Transparent = buf[3]; - while (GetDataBlock(fd, (unsigned char*) buf) != 0) + while (GetDataBlock(fd, (unsigned char*) buf) > 0) ; return FALSE; default: break; } - while (GetDataBlock(fd, (unsigned char*) buf) != 0) + while (GetDataBlock(fd, (unsigned char*) buf) > 0) ; return FALSE; @@ -337,7 +337,7 @@ GetCode_(gdIOCtx *fd, int code_size, int flag) buf[0] = buf[last_byte-2]; buf[1] = buf[last_byte-1]; - if ((count = GetDataBlock(fd, &buf[2])) == 0) + if ((count = GetDataBlock(fd, &buf[2])) <= 0) done = TRUE; last_byte = 2 + count;