
Libpng 1.2.36beta02 - March 21, 2009

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

   libpng-1.2.36beta02.tar.gz
   libpng-1.2.36beta02.tar.lzma
     (Get the lzma codec from <http://tukaani.org/lzma>).
   libpng-1.2.36beta02.tar.bz2

Source files with LF line endings (for Unix/Linux) without the
"configure" script

   libpng-1.2.36beta02-no-config.tar.gz
   libpng-1.2.36beta02-no-config.tar.lzma
   libpng-1.2.36beta02-no-config.tar.bz2

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

   lp1236b02.zip
   lp1236b02.7z
   lp1236b02.tar.bz2

Project files

   libpng-1.2.36beta02-project-netware.zip
   libpng-1.2.36beta02-project-wince.zip

Other information:

   libpng-1.2.36beta02-README.txt
   libpng-1.2.36beta02-KNOWNBUGS.txt
   libpng-1.2.36beta02-LICENSE.txt
   libpng-1.2.36beta02-Y2K-compliance.txt
   libpng-1.2.36beta02-[previous version]-diff.txt

Changes since the last public release (1.2.34):

version 1.2.35beta01 [February 4, 2009]
  Zero out some arrays of pointers after png_malloc(). (Tavis Ormandy)

version 1.2.35beta02 [Feburary 4, 2009]
  Zero out more arrays of pointers after png_malloc().

version 1.2.35beta03 [February 5, 2009]
  Use png_memset() instead of a loop to intialize pointers.  We realize
    this will not work on platforms where the NULL pointer is not all zeroes.

version 1.2.35rc01 [February 11, 2009]
  No changes.

version 1.2.35rc02 [February 12, 2009]
  Fix typo in new png_memset call in pngset.c (png_color should be png_charp)

version 1.0.43 and 1.2.35 [February 14, 2009]
  No changes.

version 1.2.36beta01 [February 28, 2009]
  Revised comments in png_set_read_fn() and png_set_write_fn().
  Revised order of #ifdef's and indentation in png_debug definitions of png.h
    bug introduced in libpng-1.2.34.

version 1.2.36beta02 [March 21, 2009]
  Use png_memset() after png_malloc() of big_row_buf when reading an
    interlaced file, to avoid a possible UMR.
  Undid recent revision of PNG_NO_STDIO version of png_write_flush().  Users
    having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined.
  Revised libpng*.txt documentation about use of png_write_flush().
  Removed fflush() from pngtest.c.
  Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h

Send comments/corrections/commendations to png-mng-implement at lists.sf.net

(subscription required; visit 
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net

Glenn R-P
