diff options
Diffstat (limited to 'Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c')
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c b/Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c new file mode 100644 index 00000000000..14129ab8660 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c @@ -0,0 +1,33 @@ +/** + * Regression test for <https://github.com/libgd/libgd/issues/340> + * + * We're testing that trying to create an oversized image fails early, + * triggering an appropriate warning. + */ + + +#include <string.h> +#include "gd.h" +#include "gd_errors.h" +#include "gdtest.h" + + +#define MSG "product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully\n" + + +void error_handler(int priority, const char *format, ...) +{ + gdTestAssert(priority == GD_WARNING); + gdTestAssert(!strcmp(format, MSG)); +} + + +int main() +{ + gdImagePtr im; + + im = gdImageCreate(64970, 65111); + gdTestAssert(im == NULL); + + return gdNumFailures(); +} |