
Libpng 1.4.3beta05 - June 20, 2010

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.

Files available for download:

Source files with LF line endings (for Unix/Linux) and with a
"configure" script

   1.4.3beta05.tar.xz (LZMA-compressed, recommended)
   1.4.3beta05.tar.gz
   1.4.3beta05.tar.bz2

Source files with CRLF line endings (for Windows), without the
"configure" script

   lp143b05.zip
   lp143b05.7z

Other information:

   1.4.3beta05-README.txt
   1.4.3beta05-LICENSE.txt

Changes since the last public release (1.4.2):

version 1.4.3beta01 [June 18, 2010]
  Added missing quotation marks in the aix block of configure.ac
  The new "vstudio" project was missing from the zip and 7z distributions.
  In pngpread.c: png_push_have_row() add check for new_row > height

version 1.4.3beta02 [June 18, 2010]
  Removed the now-redundant check for out-of-bounds new_row from example.c

version 1.4.3beta03 [June 18, 2010]
  In pngpread.c: png_push_finish_row() add check for too many rows.

version 1.4.3beta04 [June 19, 2010]
  In pngpread.c: png_push_process_row() add check for too many rows.
  Removed the checks added in beta01 and beta03, as they are now redundant.

version 1.4.3beta05 [June 20, 2010]
  Rewrote png_process_IDAT_data to consistently treat extra data as warnings
    and handle end conditions more cleanly.
  Removed the new (beta04) check in png_push_process_row().

Send comments/corrections/commendations to glennrp at users.sourceforge.net
or to png-mng-implement at lists.sf.net (subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement).

Glenn R-P
