summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwoho <woho@woho.woho>2021-10-21 11:53:17 +0200
committerMike Frysinger <vapier@gmail.com>2021-10-21 12:02:29 -0400
commit636100b9280a86e70d852d89251fc5492fce33f4 (patch)
treea43f4439de6ede9a1518db4770921e478df666ca
parentba14dec6efe9d87fe80fa1d7bd3d5b0583e1320e (diff)
downloadlibgd-636100b9280a86e70d852d89251fc5492fce33f4.tar.gz
Catch libpng warnings (#295)
-rw-r--r--src/gd_png.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gd_png.c b/src/gd_png.c
index c99fd30..a325e5c 100644
--- a/src/gd_png.c
+++ b/src/gd_png.c
@@ -77,6 +77,11 @@ gdPngErrorHandler (png_structp png_ptr, png_const_charp msg)
longjmp (jmpbuf_ptr->jmpbuf, 1);
}
+
+static void gdPngWarningHandler (png_structp png_ptr, png_const_charp msg)
+{
+ gd_error_ex(GD_WARNING, "gd-png: libpng warning: %s", msg);
+}
#endif
static void
@@ -235,7 +240,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
}
#ifdef PNG_SETJMP_SUPPORTED
- png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, &jbw, gdPngErrorHandler, NULL);
+ png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, &jbw, gdPngErrorHandler, gdPngWarningHandler);
#else
png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
#endif
@@ -787,7 +792,7 @@ static int _gdImagePngCtxEx(gdImagePtr im, gdIOCtx * outfile, int level)
#ifdef PNG_SETJMP_SUPPORTED
png_ptr = png_create_write_struct (PNG_LIBPNG_VER_STRING,
&jbw, gdPngErrorHandler,
- NULL);
+ gdPngWarningHandler);
#else
png_ptr = png_create_write_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
#endif