[libpng16] Fixed incorrect warning of excess deflate data. End condition - the

warning would be produced if the end of the deflate stream wasn't read
in the last row.  The warning is harmless.
This commit is contained in:
John Bowler 2013-04-07 21:33:30 -05:00 committed by Glenn Randers-Pehrson
parent 2e0c5f0dff
commit 43c07e1b48
3 changed files with 18 additions and 9 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.6.2beta01 - April 1, 2013 Libpng 1.6.2beta01 - April 8, 2013
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.
@ -25,8 +25,11 @@ Other information:
Changes since the last public release (1.6.1): Changes since the last public release (1.6.1):
Version 1.6.2beta01 [April 1, 2013] Version 1.6.2beta01 [April 8, 2013]
Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling. Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling.
Fixed incorrect warning of excess deflate data. End condition - the
warning would be produced if the end of the deflate stream wasn't read
in the last row. The warning is harmless.
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

View File

@ -4473,8 +4473,11 @@ Version 1.6.1rc01 [March 21, 2013]
Version 1.6.1 [March 28, 2013] Version 1.6.1 [March 28, 2013]
No changes. No changes.
Version 1.6.2beta01 [April 1, 2013] Version 1.6.2beta01 [April 8, 2013]
Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling. Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling.
Fixed incorrect warning of excess deflate data. End condition - the
warning would be produced if the end of the deflate stream wasn't read
in the last row. The warning is harmless.
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

View File

@ -3983,7 +3983,7 @@ png_read_IDAT_data(png_structrp png_ptr, png_bytep output,
png_ptr->zstream.avail_out = out; png_ptr->zstream.avail_out = out;
} }
else /* check for end */ else /* after last row, checking for end */
{ {
png_ptr->zstream.next_out = tmpbuf; png_ptr->zstream.next_out = tmpbuf;
png_ptr->zstream.avail_out = (sizeof tmpbuf); png_ptr->zstream.avail_out = (sizeof tmpbuf);
@ -3998,10 +3998,13 @@ png_read_IDAT_data(png_structrp png_ptr, png_bytep output,
*/ */
ret = inflate(&png_ptr->zstream, Z_NO_FLUSH); ret = inflate(&png_ptr->zstream, Z_NO_FLUSH);
/* Take the unconsumed output back (so, in the 'check' case this just /* Take the unconsumed output back. */
* counts up). if (output != NULL)
*/
avail_out += png_ptr->zstream.avail_out; avail_out += png_ptr->zstream.avail_out;
else /* avail_out counts the extra bytes */
avail_out += (sizeof tmpbuf) - png_ptr->zstream.avail_out;
png_ptr->zstream.avail_out = 0; png_ptr->zstream.avail_out = 0;
if (ret == Z_STREAM_END) if (ret == Z_STREAM_END)
@ -4040,7 +4043,7 @@ png_read_IDAT_data(png_structrp png_ptr, png_bytep output,
if (output != NULL) if (output != NULL)
png_error(png_ptr, "Not enough image data"); png_error(png_ptr, "Not enough image data");
else /* checking */ else /* the deflate stream contained extra data */
png_chunk_benign_error(png_ptr, "Too much image data"); png_chunk_benign_error(png_ptr, "Too much image data");
} }
} }