summaryrefslogtreecommitdiff
path: root/pngrutil.c
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2016-09-11 22:02:05 -0500
committerGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2016-09-11 22:02:05 -0500
commit1842d7c86574e5ac6494423a5e3205c3fedd74b4 (patch)
tree568bdc25b6b5d05b325aed1a65a64eb28272adb3 /pngrutil.c
parentbc2bb96cd76c1c54a9de54de3b0ce5c832bd67e3 (diff)
downloadlibpng-1842d7c86574e5ac6494423a5e3205c3fedd74b4.tar.gz
[libpng16] Issue a png_benign_error instead of a png_error on ADLER32 mismatch
while decoding compressed data chunks.
Diffstat (limited to 'pngrutil.c')
-rw-r--r--pngrutil.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pngrutil.c b/pngrutil.c
index 3eaa635ad..c619cbb5e 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -4101,7 +4101,12 @@ png_read_IDAT_data(png_structrp png_ptr, png_bytep output,
png_zstream_error(png_ptr, ret);
if (output != NULL)
- png_chunk_error(png_ptr, png_ptr->zstream.msg);
+ {
+ if(!strncmp(png_ptr->zstream.msg,"incorrect data check",20))
+ png_chunk_benign_error(png_ptr, png_ptr->zstream.msg);
+ else
+ png_chunk_error(png_ptr, png_ptr->zstream.msg);
+ }
else /* checking */
{