summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c
diff options
context:
space:
mode:
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.c28
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();
+}