Libpng 1.5.24rc01 - October 31, 2015 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.5.24rc01.tar.xz (LZMA-compressed, recommended) 1.5.24rc01.tar.gz 1.5.24rc01.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script lp1524r01.7z (LZMA-compressed, recommended) lp1524r01.zip Other information: 1.5.24rc01-README.txt 1.5.24rc01-LICENSE.txt libpng-1.5.24rc01-*.asc (armored detached GPG signatures) Changes since the last public release (1.5.23): Version 1.5.24beta01 [August 19, 2015] Avoid potentially dereferencing NULL info_ptr in png_info_init_3(). Eliminated unused PNG_COST_SHIFT, PNG_WEIGHT_SHIFT, PNG_COST_FACTOR, and PNG_WEIGHT_FACTOR macros. Fixed potential leak of png_pixels in contrib/pngminus/pnm2png.c Fixed uninitialized variable in contrib/gregbook/rpng2-x.c Fixed some bad links in the man page. Safely convert num_bytes to a png_byte in png_set_sig_bytes() (Robert Seacord). Fixed the recently reported 1's complement security issue by replacing the value that is illegal in the PNG spec, in both signed and unsigned values, with 0. Illegal unsigned values (anything greater than or equal to 0x80000000) can still pass through, but since these are not illegal in ANSI-C (unlike 0x80000000 in the signed case) the checking that occurs later can catch them (John Bowler). Version 1.5.24beta02 [October 15, 2015] Fixed png_save_int_32 when int is not 2's complement (John Bowler). Fixed byte order in png_do_read_filler() with 16-bit input (previously fixed in libpng-1.6.17 and 1.7.0beta46). Previously the high and low bytes of the filler, from png_set_filler() or from png_set_add_alpha(), were read in the wrong order. Merged pngvalid.c with version 1.6.19. Added sPLT support to pngtest.c Version 1.5.24rc01 [October 31, 2015] Prevent writing over-length PLTE chunk (Cosmin Truta). Libpng incorrectly calculated the output rowbytes when the application decreased either the number of channels or the bit depth (or both) in a user transform. This was safe; libpng overallocated buffer space (potentially by quite a lot; up to 4 times the amount required) but, from 1.5.4 on, resulted in a png_error (John Bowler). Silently truncate over-length PLTE chunk while reading. 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