diff options
Diffstat (limited to 'Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c')
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c b/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c new file mode 100644 index 00000000000..ec1f37e4e58 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/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(); +} |