diff options
Diffstat (limited to 'tests/gif/php_bug_75571.c')
-rw-r--r-- | tests/gif/php_bug_75571.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/gif/php_bug_75571.c b/tests/gif/php_bug_75571.c new file mode 100644 index 0000000..ec1f37e --- /dev/null +++ b/tests/gif/php_bug_75571.c @@ -0,0 +1,28 @@ +/** + * Test that GIF reading does not loop infinitely + * + * We are reading a crafted GIF image which has been truncated. This would + * trigger an infinite loop formerly, but know bails out early, returning + * NULL from gdImageCreateFromGif(). + * + * See also https://bugs.php.net/bug.php?id=75571. + */ + + +#include "gd.h" +#include "gdtest.h" + + +int main() +{ + gdImagePtr im; + FILE *fp; + + fp = gdTestFileOpen2("gif", "php_bug_75571.gif"); + gdTestAssert(fp != NULL); + im = gdImageCreateFromGif(fp); + gdTestAssert(im == NULL); + fclose(fp); + + return gdNumFailures(); +} |