[libpng16] Control ADLER32 checking with new PNG_IGNORE_ADLER32 option.
This commit is contained in:
parent
d65a92b951
commit
dbb5fce3d8
6
ANNOUNCE
6
ANNOUNCE
@ -1,4 +1,4 @@
|
|||||||
Libpng 1.6.27beta02 - November 8, 2016
|
Libpng 1.6.27beta02 - December 26, 2016
|
||||||
|
|
||||||
This is not intended to be a public release. It will be replaced
|
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.
|
within a few weeks by a public version or by another test version.
|
||||||
@ -31,8 +31,8 @@ Version 1.6.27beta01 [November 2, 2016]
|
|||||||
entire PNG image instead of rejecting just the iCCP chunk with a warning,
|
entire PNG image instead of rejecting just the iCCP chunk with a warning,
|
||||||
if built with zlib-1.2.8.1.
|
if built with zlib-1.2.8.1.
|
||||||
|
|
||||||
Version 1.6.27beta02 [November 8, 2016]
|
Version 1.6.27beta02 [December 26, 2016]
|
||||||
Revert ADLER32 error handling in pngrutil.c and pngpread.c.
|
Control ADLER32 checking with new PNG_IGNORE_ADLER32 option.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
4
CHANGES
4
CHANGES
@ -5760,8 +5760,8 @@ Version 1.6.27beta01 [November 2, 2016]
|
|||||||
entire PNG image instead of rejecting just the iCCP chunk with a warning,
|
entire PNG image instead of rejecting just the iCCP chunk with a warning,
|
||||||
if built with zlib-1.2.8.1.
|
if built with zlib-1.2.8.1.
|
||||||
|
|
||||||
Version 1.6.27beta02 [November 8, 2016]
|
Version 1.6.27beta02 [December 26, 2016]
|
||||||
Revert ADLER32 error handling in pngrutil.c and pngpread.c.
|
Control ADLER32 checking with new PNG_IGNORE_ADLER32 option.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
6
png.c
6
png.c
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* png.c - location for general purpose libpng functions
|
/* png.c - location for general purpose libpng functions
|
||||||
*
|
*
|
||||||
* Last changed in libpng 1.6.26 [October 20, 2016]
|
* Last changed in libpng 1.6.27 [(PENDING RELEASE)]
|
||||||
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
@ -775,14 +775,14 @@ png_get_copyright(png_const_structrp png_ptr)
|
|||||||
#else
|
#else
|
||||||
# ifdef __STDC__
|
# ifdef __STDC__
|
||||||
return PNG_STRING_NEWLINE \
|
return PNG_STRING_NEWLINE \
|
||||||
"libpng version 1.6.27beta02 - November 2, 2016" PNG_STRING_NEWLINE \
|
"libpng version 1.6.27beta02 - December 26, 2016" PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson" \
|
"Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson" \
|
||||||
PNG_STRING_NEWLINE \
|
PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
||||||
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
||||||
PNG_STRING_NEWLINE;
|
PNG_STRING_NEWLINE;
|
||||||
# else
|
# else
|
||||||
return "libpng version 1.6.27beta02 - November 2, 2016\
|
return "libpng version 1.6.27beta02 - December 26, 2016\
|
||||||
Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson\
|
Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson\
|
||||||
Copyright (c) 1996-1997 Andreas Dilger\
|
Copyright (c) 1996-1997 Andreas Dilger\
|
||||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
|
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
|
||||||
|
13
png.h
13
png.h
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.6.27beta02, November 2, 2016
|
* libpng version 1.6.27beta02, December 26, 2016
|
||||||
*
|
*
|
||||||
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
@ -12,7 +12,7 @@
|
|||||||
* Authors and maintainers:
|
* Authors and maintainers:
|
||||||
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
||||||
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
|
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
|
||||||
* libpng versions 0.97, January 1998, through 1.6.27beta02, November 2, 2016:
|
* libpng versions 0.97, January 1998, through 1.6.27beta02, December 26, 2016:
|
||||||
* Glenn Randers-Pehrson.
|
* Glenn Randers-Pehrson.
|
||||||
* See also "Contributing Authors", below.
|
* See also "Contributing Authors", below.
|
||||||
*/
|
*/
|
||||||
@ -29,7 +29,7 @@
|
|||||||
* files that are distributed with libpng have other copyright owners and
|
* files that are distributed with libpng have other copyright owners and
|
||||||
* are released under other open source licenses.
|
* are released under other open source licenses.
|
||||||
*
|
*
|
||||||
* libpng versions 1.0.7, July 1, 2000 through 1.6.27beta02, November 2, 2016 are
|
* libpng versions 1.0.7, July 1, 2000 through 1.6.27beta02, December 26, 2016 are
|
||||||
* Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are
|
* Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are
|
||||||
* derived from libpng-1.0.6, and are distributed according to the same
|
* derived from libpng-1.0.6, and are distributed according to the same
|
||||||
* disclaimer and license as libpng-1.0.6 with the following individuals
|
* disclaimer and license as libpng-1.0.6 with the following individuals
|
||||||
@ -246,7 +246,7 @@
|
|||||||
* Y2K compliance in libpng:
|
* Y2K compliance in libpng:
|
||||||
* =========================
|
* =========================
|
||||||
*
|
*
|
||||||
* November 2, 2016
|
* December 26, 2016
|
||||||
*
|
*
|
||||||
* Since the PNG Development group is an ad-hoc body, we can't make
|
* Since the PNG Development group is an ad-hoc body, we can't make
|
||||||
* an official declaration.
|
* an official declaration.
|
||||||
@ -315,7 +315,7 @@
|
|||||||
|
|
||||||
/* Version information for png.h - this should match the version in png.c */
|
/* Version information for png.h - this should match the version in png.c */
|
||||||
#define PNG_LIBPNG_VER_STRING "1.6.27beta02"
|
#define PNG_LIBPNG_VER_STRING "1.6.27beta02"
|
||||||
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.27beta02 - November 2, 2016\n"
|
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.27beta02 - December 26, 2016\n"
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_SONUM 16
|
#define PNG_LIBPNG_VER_SONUM 16
|
||||||
#define PNG_LIBPNG_VER_DLLNUM 16
|
#define PNG_LIBPNG_VER_DLLNUM 16
|
||||||
@ -3230,7 +3230,8 @@ PNG_EXPORT(245, int, png_image_write_to_memory, (png_imagep image, void *memory,
|
|||||||
#ifdef PNG_MIPS_MSA_API_SUPPORTED
|
#ifdef PNG_MIPS_MSA_API_SUPPORTED
|
||||||
# define PNG_MIPS_MSA 6 /* HARDWARE: MIPS Msa SIMD instructions supported */
|
# define PNG_MIPS_MSA 6 /* HARDWARE: MIPS Msa SIMD instructions supported */
|
||||||
#endif
|
#endif
|
||||||
#define PNG_OPTION_NEXT 8 /* Next option - numbers must be even */
|
#define PNG_IGNORE_ADLER32 8
|
||||||
|
#define PNG_OPTION_NEXT 10 /* Next option - numbers must be even */
|
||||||
|
|
||||||
/* Return values: NOTE: there are four values and 'off' is *not* zero */
|
/* Return values: NOTE: there are four values and 'off' is *not* zero */
|
||||||
#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */
|
#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */
|
||||||
|
16
pngrutil.c
16
pngrutil.c
@ -418,10 +418,10 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
|
|||||||
png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED;
|
png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ZLIB_VERNUM >= 0x1281
|
#if ZLIB_VERNUM >= 0x1281 && \
|
||||||
/* Turn off validation of the ADLER32 checksum in IDAT chunks */
|
defined(PNG_SET_OPTION_SUPPORTED) && defined(PNG_IGNORE_ADLER32)
|
||||||
if ((png_ptr->flags & PNG_FLAG_CRC_CRITICAL_IGNORE) != 0 &&
|
if (((png_ptr->options >> PNG_IGNORE_ADLER32) & 3) == PNG_OPTION_ON)
|
||||||
png_ptr->zowner == png_IDAT)
|
/* Turn off validation of the ADLER32 checksum in IDAT chunks */
|
||||||
ret = inflateValidate(&png_ptr->zstream, 0);
|
ret = inflateValidate(&png_ptr->zstream, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -717,7 +717,7 @@ png_decompress_chunk(png_structrp png_ptr,
|
|||||||
* the extra space may otherwise be used as a Trojan Horse.
|
* the extra space may otherwise be used as a Trojan Horse.
|
||||||
*/
|
*/
|
||||||
if (ret == Z_STREAM_END &&
|
if (ret == Z_STREAM_END &&
|
||||||
chunklength - prefix_size != lzsize)
|
chunklength - prefix_size != lzsize)
|
||||||
png_chunk_benign_error(png_ptr, "extra compressed data");
|
png_chunk_benign_error(png_ptr, "extra compressed data");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -827,7 +827,7 @@ png_inflate_read(png_structrp png_ptr, png_bytep read_buffer, uInt read_size,
|
|||||||
return Z_STREAM_ERROR;
|
return Z_STREAM_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* READ_iCCP */
|
||||||
|
|
||||||
/* Read and check the IDHR chunk */
|
/* Read and check the IDHR chunk */
|
||||||
|
|
||||||
@ -4108,7 +4108,9 @@ png_read_IDAT_data(png_structrp png_ptr, png_bytep output,
|
|||||||
png_zstream_error(png_ptr, ret);
|
png_zstream_error(png_ptr, ret);
|
||||||
|
|
||||||
if (output != NULL)
|
if (output != NULL)
|
||||||
png_chunk_error(png_ptr, png_ptr->zstream.msg);
|
{
|
||||||
|
png_chunk_error(png_ptr, png_ptr->zstream.msg);
|
||||||
|
}
|
||||||
|
|
||||||
else /* checking */
|
else /* checking */
|
||||||
{
|
{
|
||||||
|
@ -986,9 +986,14 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
|
|||||||
/* Allow application (pngtest) errors and warnings to pass */
|
/* Allow application (pngtest) errors and warnings to pass */
|
||||||
png_set_benign_errors(read_ptr, 1);
|
png_set_benign_errors(read_ptr, 1);
|
||||||
|
|
||||||
/* Turn off CRC and ADLER32 checking while reading */
|
/* Turn off CRC checking while reading */
|
||||||
png_set_crc_action(read_ptr, PNG_CRC_QUIET_USE, PNG_CRC_QUIET_USE);
|
png_set_crc_action(read_ptr, PNG_CRC_QUIET_USE, PNG_CRC_QUIET_USE);
|
||||||
|
|
||||||
|
#ifdef PNG_IGNORE_ADLER32_SUPPORTED
|
||||||
|
/* Turn off ADLER32 checking while reading */
|
||||||
|
png_set_option(read_ptr, PNG_IGNORE_ADLER32, PNG_OPTION_ON);
|
||||||
|
#endif
|
||||||
|
|
||||||
# ifdef PNG_WRITE_SUPPORTED
|
# ifdef PNG_WRITE_SUPPORTED
|
||||||
png_set_benign_errors(write_ptr, 1);
|
png_set_benign_errors(write_ptr, 1);
|
||||||
# endif
|
# endif
|
||||||
|
Loading…
Reference in New Issue
Block a user