Libpng 1.5.28 - December 29, 2016 This is a public release of libpng, intended for use in production codes. Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script libpng-1.5.28.tar.xz (LZMA-compressed, recommended) libpng-1.5.28.tar.gz Source files with CRLF line endings (for Windows), without the "configure" script lpng1528.7z (LZMA-compressed, recommended) lpng1528.zip Other information: libpng-1.5.28-README.txt libpng-1.5.28-LICENSE.txt libpng-1.5.28-*.asc (armored detached GPG signatures) Changes since the last public release (1.5.27): Merged with current libpng16 gregbook, pngvalid.c, pngtest.c, pngminim, pngminus Added "Common linking failures" section to INSTALL. Fixed undefined behavior in png_push_save_buffer(). Do not call memcpy() with a null source, even if count is zero (Leon Scroggins III). Merge contrib/pngminim/*/makefile with libpng-1.6.24 Minor editing of INSTALL, (whitespace, added copyright line) Removed the use of a macro containing the pre-processor 'defined' operator. It is unclear whether this is valid; a macro that "generates" 'defined' is not permitted, but the use of the word "generates" within the C90 standard seems to imply more than simple substitution of an expression itself containing a well-formed defined operation. Previously the pngtrans.c code always resulted in an unsigned arithmetic overflow. This is well defined but produces errors from clang with the option to detect unsigned overflow. As the expression only gets evaluated once per row in this version of libpng it is easier just to rewrite it. The previous version of png.c produced a signed overflow as a result of both the "& 0xffff" on the most significant bits of a negative argument; this converted (-1) into 65535 which resulted in a subsequent overflow. Since signed overflow is undefined in C90 the code has been modified to correctly calculate a signed result. This requires changing the 'hi' result parameter to a signed value. Fixed a potential null pointer dereference in png_set_text_2() (bug report and patch by Patrick Keshishian). 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