Libpng 1.6.32beta02 - July 31, 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 [July 31, 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
