diff options
Diffstat (limited to 'tests/gd2')
-rw-r--r-- | tests/gd2/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/gd2/bug797.c | 32 | ||||
-rw-r--r-- | tests/gd2/bug797.gd2 | bin | 0 -> 2321 bytes |
3 files changed, 33 insertions, 0 deletions
diff --git a/tests/gd2/CMakeLists.txt b/tests/gd2/CMakeLists.txt index cc188ca..0a9a157 100644 --- a/tests/gd2/CMakeLists.txt +++ b/tests/gd2/CMakeLists.txt @@ -6,6 +6,7 @@ LIST(APPEND TESTS_FILES bug00309 bug00354 bug00383 + bug797 createimagefromgd2part createimagefromgd2partptr gd2_empty_file diff --git a/tests/gd2/bug797.c b/tests/gd2/bug797.c new file mode 100644 index 0000000..89adedd --- /dev/null +++ b/tests/gd2/bug797.c @@ -0,0 +1,32 @@ +/** + * Test that invalid transparent colors can't be read + * + * We're reading a corrupt palette image in GD2 format, which has only a single + * palette entry, but claims that the transparent color would be 1. We check + * that the transparency is simply ignored in this case. + * + * See also <https://github.com/libgd/libgd/issues/383> + */ + + +#include "gd.h" +#include "gdtest.h" + + +int main() +{ + gdImagePtr im; + FILE *fp; + + fp = gdTestFileOpen2("gd2", "bug797.gd2"); + gdTestAssert(fp != NULL); + im = gdImageCreateFromGd2(fp); + gdTestAssert(im != NULL); + fclose(fp); + + gdTestAssert(gdImageGetTransparent(im) == -1); + + gdImageDestroy(im); + + return gdNumFailures(); +} diff --git a/tests/gd2/bug797.gd2 b/tests/gd2/bug797.gd2 Binary files differnew file mode 100644 index 0000000..1b41762 --- /dev/null +++ b/tests/gd2/bug797.gd2 |