Libpng 1.6.32beta02 - August 1, 2017

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.6.32beta02.tar.xz (LZMA-compressed, recommended)
   1.6.32beta02.tar.gz

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

   lp1632b02.7z  (LZMA-compressed, recommended)
   lp1632b02.zip

Other information:

   1.6.32beta02-README.txt
   1.6.32beta02-LICENSE.txt
   libpng-1.6.32beta02-*.asc (armored detached GPG signatures)

Changes since the last public release (1.6.31):

Version 1.6.32beta01 [July 31, 2017]
  Avoid possible NULL dereference in png_handle_eXIf when benign_errors
    are allowed. Avoid leaking the input buffer "eXIf_buf".
  Eliminated png_ptr->num_exif member from pngstruct.h and added num_exif
    to arguments for png_get_eXIf() and png_set_eXIf().
  Added calls to png_handle_eXIf(() in pngread.c and png_write_eXIf() in
    pngwrite.c, and made various other fixes to png_write_eXIf().
  Changed name of png_get_eXIF and png_set_eXIf() to png_get_eXIf_1() and
    png_set_eXIf_1(), respectively, to avoid breaking API compatibility
    with libpng-1.6.31.

Version 1.6.32beta02 [August 1, 2017]
  Updated contrib/libtests/pngunknown.c with eXIf chunk.

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
