[libpng15] Fixed problem with PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpread.c

This commit is contained in:
Glenn Randers-Pehrson 2012-04-23 19:52:59 -05:00
parent 9bb65df0be
commit c1269a3975
3 changed files with 13 additions and 5 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.5.11beta01 - April 13, 2012 Libpng 1.5.11beta01 - April 24, 2012
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.
@ -26,12 +26,13 @@ Other information:
Changes since the last public release (1.5.10): Changes since the last public release (1.5.10):
Version 1.5.11 [April 13, 2012] Version 1.5.11 [April 24, 2012]
Revised scripts/makefile.darwin: use system zlib; remove quotes around Revised scripts/makefile.darwin: use system zlib; remove quotes around
architecture list; add missing ppc architecture; add architecture options architecture list; add missing ppc architecture; add architecture options
to shared library link; don't try to create a shared lib based on missing to shared library link; don't try to create a shared lib based on missing
RELEASE variable. RELEASE variable.
Enable png_set_check_for_invalid_index() for both read and write. Enable png_set_check_for_invalid_index() for both read and write.
Fixed problem with use of PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpread.c
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

@ -3854,12 +3854,13 @@ Version 1.5.10 [March 29, 2012]
Revised png_set_text_2() to avoid potential memory corruption (fixes Revised png_set_text_2() to avoid potential memory corruption (fixes
CVE-2011-3048). CVE-2011-3048).
Version 1.5.11 [April 13, 2012] Version 1.5.11 [April 24, 2012]
Revised scripts/makefile.darwin: use system zlib; remove quotes around Revised scripts/makefile.darwin: use system zlib; remove quotes around
architecture list; add missing ppc architecture; add architecture options architecture list; add missing ppc architecture; add architecture options
to shared library link; don't try to create a shared lib based on missing to shared library link; don't try to create a shared lib based on missing
RELEASE variable. RELEASE variable.
Enable png_set_check_for_invalid_index() for both read and write. Enable png_set_check_for_invalid_index() for both read and write.
Fixed problem with use of PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpread.c
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

@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode /* pngpread.c - read a png file in push mode
* *
* Last changed in libpng 1.5.9 [February 18, 2012] * Last changed in libpng 1.5.11 [(PENDING RELEASE)]
* Copyright (c) 1998-2012 Glenn Randers-Pehrson * Copyright (c) 1998-2012 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.)
@ -255,8 +255,11 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
png_push_have_end(png_ptr, info_ptr); png_push_have_end(png_ptr, info_ptr);
} }
#ifdef PNG_HANDLE_UNKNOWN_SUPPORTED
else
#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
else if (png_chunk_unknown_handling(png_ptr, chunk_name)) if (png_chunk_unknown_handling(png_ptr, chunk_name))
#endif
{ {
if (png_ptr->push_length + 4 > png_ptr->buffer_size) if (png_ptr->push_length + 4 > png_ptr->buffer_size)
{ {
@ -550,6 +553,8 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
} }
#endif #endif
#ifdef PNG_HANDLE_UNKNOWN_SUPPORTED
else else
{ {
if (png_ptr->push_length + 4 > png_ptr->buffer_size) if (png_ptr->push_length + 4 > png_ptr->buffer_size)
@ -559,6 +564,7 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
} }
png_handle_unknown(png_ptr, info_ptr, png_ptr->push_length); png_handle_unknown(png_ptr, info_ptr, png_ptr->push_length);
} }
#endif
png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
} }