From 2fce16e5c4f5978e634eae2eb4fd1b6251fe30ae Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sun, 10 Jan 2016 19:34:16 -0600 Subject: [PATCH] [libpng17] Update CHANGES and ANNOUNCE, fix typo in png.h --- ANNOUNCE | 18 ++++++++++++++++-- CHANGES | 16 +++++++++++++++- png.h | 12 ++++++------ 3 files changed, 37 insertions(+), 9 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index f4d43947e..d1da52cf7 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.7.0beta77 - January 10, 2016 +Libpng 1.7.0beta77 - January 11, 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. @@ -1172,7 +1172,7 @@ Version 1.7.0beta76 [January 7, 2016] Fixed new Coverity defect, potential NULL dereference of "ps" in pngwutil.c Added temporary workaround for Coverity "Dead code" defect. -Version 1.7.0beta77 [January 10, 2016] +Version 1.7.0beta77 [January 11, 2016] Fixed new Coverity defect, another NULL dereference of "ps" in pngwutil.c Prevent the CMINFO optimization code from running twice on any PNG IDAT stream longer than 2048 bytes; the second time could overwrite bytes @@ -1186,6 +1186,20 @@ Version 1.7.0beta77 [January 10, 2016] IDAT that libpng can produce with those settings.) It also contains a "--search" command line option that attempts to optimize this by skipping pointless tests; it is close, most of the time, but not perfect. + Fixed write problem with reduced size IDAT chunks. + png_set_compression_buffer_size would result in a spurious debug assert + if the compression buffer size was set to something other than a multiple + of PNG_ROW_BUFFER_SIZE; the debug test failed to add the buffer 'start' + The sequential read code failed to read to the end of the IDAT stream in + about 1 of 820 cases, resulting in a spurious warning. The + png_set_compression_buffer_size API also would not work (or do bad things) + if the size of a zlib uInt was less than 32 bits. + Added pngcp IDAT size test and changed the order of the 'level' + and 'windowBits' searches to seach windowBits first; this favors + windowBits optimizations over compression level ones on the basis + that the latter should only affect the write code. This includes a + quiet API change to alter png_set_compression_buffer_size to use + a png_alloc_size_t, not png_size_t and implement the correct checks. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index ddb20f232..20d110492 100644 --- a/CHANGES +++ b/CHANGES @@ -5471,7 +5471,7 @@ Version 1.7.0beta76 [January 7, 2016] Fixed new Coverity defect, potential NULL dereference of "ps" in pngwutil.c Added temporary workaround for Coverity "Dead code" defect. -Version 1.7.0beta77 [January 10, 2016] +Version 1.7.0beta77 [January 11, 2016] Fixed new Coverity defect, another NULL dereference of "ps" in pngwutil.c Prevent the CMINFO optimization code from running twice on any PNG IDAT stream longer than 2048 bytes; the second time could overwrite bytes @@ -5485,6 +5485,20 @@ Version 1.7.0beta77 [January 10, 2016] IDAT that libpng can produce with those settings.) It also contains a "--search" command line option that attempts to optimize this by skipping pointless tests; it is close, most of the time, but not perfect. + Fixed write problem with reduced size IDAT chunks. + png_set_compression_buffer_size would result in a spurious debug assert + if the compression buffer size was set to something other than a multiple + of PNG_ROW_BUFFER_SIZE; the debug test failed to add the buffer 'start' + The sequential read code failed to read to the end of the IDAT stream in + about 1 of 820 cases, resulting in a spurious warning. The + png_set_compression_buffer_size API also would not work (or do bad things) + if the size of a zlib uInt was less than 32 bits. + Added pngcp IDAT size test and changed the order of the 'level' + and 'windowBits' searches to seach windowBits first; this favors + windowBits optimizations over compression level ones on the basis + that the latter should only affect the write code. This includes a + quiet API change to alter png_set_compression_buffer_size to use + a png_alloc_size_t, not png_size_t and implement the correct checks. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/png.h b/png.h index e55e506b4..ded9f88cd 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.7.0beta77, January 7, 2016 + * libpng version 1.7.0beta77, January 11, 2016 * * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -12,7 +12,7 @@ * Authors and maintainers: * 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.97, January 1998, through 1.7.0beta77, January 7, 2016: + * libpng versions 0.97, January 1998, through 1.7.0beta77, January 11, 2016: * Glenn Randers-Pehrson. * See also "Contributing Authors", below. */ @@ -25,7 +25,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.0.7, July 1, 2000, through 1.7.0beta77, January 7, 2016, are + * libpng versions 1.0.7, July 1, 2000, through 1.7.0beta77, January 11, 2016, 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 * disclaimer and license as libpng-1.0.6 with the following individuals @@ -218,7 +218,7 @@ * Y2K compliance in libpng: * ========================= * - * January 7, 2016 + * January 11, 2016 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. @@ -288,7 +288,7 @@ /* Version information for png.h - this should match the version in png.c */ #define PNG_LIBPNG_VER_STRING "1.7.0beta77" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.7.0beta77 - January 7, 2016\n" + " libpng version 1.7.0beta77 - January 11, 2016\n" #define PNG_LIBPNG_VER_SONUM 17 #define PNG_LIBPNG_VER_DLLNUM 17 @@ -1113,7 +1113,7 @@ PNG_EXPORTA(5, png_structp, png_create_write_struct, png_error_ptr warn_fn), PNG_ALLOCATED); -/* These APIs control the sie of the buffer used when reading IDAT chunks in the +/* These APIs control the size of the buffer used for reading IDAT chunks in the * sequential read code and the size of the IDAT chunks produced when writing. * They have no effect on the progressive read code. In both read and write * cases it will be necessary to allocate at least this amount of buffer space.