
Libpng 1.4.3rc02 - June 23, 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.3rc02.tar.xz (LZMA-compressed, recommended)
   1.4.3rc02.tar.gz
   1.4.3rc02.tar.bz2

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

   lp143r02.zip
   lp143r02.7z

Other information:

   1.4.3rc02-README.txt
   1.4.3rc02-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().

version 1.4.3rc01 [June 21, 2010]
  Revised some comments in png_process_IDAT_data().

version 1.4.2rc02 [June 23, 2010]
  Changed char *msg to PNG_CONST char *msg in pngrutil.c
  Stop memory leak when reading a malformed sCAL chunk.

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
