blob: 510d1d38d4aed4611a0abc6d02bd03df3d06dd1d [file] [log] [blame]
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