From a106899acd72c44a467aa41715b7c684ce12bbf9 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Fri, 7 Oct 2016 13:33:50 -0500 Subject: [PATCH] [libpng16] Use zlib-1.2.8.1 inflateValidate() instead of inflateReset2() to avoid ADLER32 evaluation. --- ANNOUNCE | 6 ++++-- CHANGES | 4 +++- pngrutil.c | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 3ae4dff8b..c3edcfb61 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.26beta06 - October 6, 2016 +Libpng 1.6.26beta06 - October 7, 2016 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -65,7 +65,9 @@ Version 1.6.26beta05 [October 6, 2016] Changed integer constant 4294967294 to unsigned 4294967294U in pngconf.h to avoid a signed/unsigned compare in the preprocessor. -Version 1.6.26beta05 [October 6, 2016] +Version 1.6.26beta05 [October 7, 2016] + Use zlib-1.2.8.1 inflateValidate() instead of inflateReset2() to + avoid ADLER32 evaluation. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index f7a8f8791..ac901636d 100644 --- a/CHANGES +++ b/CHANGES @@ -5743,7 +5743,9 @@ Version 1.6.26beta05 [October 6, 2016] Changed integer constant 4294967294 to unsigned 4294967294U in pngconf.h to avoid a signed/unsigned compare in the preprocessor. -Version 1.6.26beta05 [October 6, 2016] +Version 1.6.26beta05 [October 7, 2016] + Use zlib-1.2.8.1 inflateValidate() instead of inflateReset2() to + avoid ADLER32 evaluation. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/pngrutil.c b/pngrutil.c index ab72bccf7..25f44b1b8 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -418,10 +418,10 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner) png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED; } -#if ZLIB_VERNUM >= 0x1240 +#if ZLIB_VERNUM >= 0x1281 /* Turn off validation of the ADLER32 checksum */ if ((png_ptr->flags & PNG_FLAG_CRC_CRITICAL_IGNORE) != 0) - ret = inflateReset2(&png_ptr->zstream, -window_bits); + ret = inflateValidate(&png_ptr->zstream, 0); #endif if (ret == Z_OK)