@@ -3756,8 +3756,9 @@ Version 1.5.7beta04 [November 17, 2011]
37563756
37573757Version 1.5.7beta05 [November 25, 2011]
37583758 Removed "zTXt" from warning in generic chunk decompression function.
3759- Validate time settings passed to pngset() and png_convert_to_rfc1123()
3760- (Frank Busse).
3759+ Validate time settings passed to png_set_tIME() and png_convert_to_rfc1123()
3760+ (Frank Busse). Note: This prevented CVE-2015-7981 from affecting
3761+ libpng-1.5.7 and later.
37613762 Added MINGW support to CMakeLists.txt
37623763 Reject invalid compression flag or method when reading the iTXt chunk.
37633764 Backed out 'simplified' API changes. The API seems too complex and there
@@ -3803,12 +3804,13 @@ Version 1.6.0beta01 [December 15, 2011]
38033804 (the other two required headers aren't used). Non-ANSI systems that don't
38043805 have stddef.h or limits.h will have to provide an appropriate fake
38053806 containing the relevant types and #defines.
3806- The use of FAR/far has been eliminated and the definition of png_alloc_size_t
3807- is now controlled by a flag so that 'small size_t' systems can select it
3808- if necessary. Libpng 1.6 may not currently work on such systems -- it
3809- seems likely that it will ask 'malloc' for more than 65535 bytes with any
3810- image that has a sufficiently large row size (rather than simply failing
3811- to read such images).
3807+ Dropped support for 16-bit platforms. The use of FAR/far has been eliminated
3808+ and the definition of png_alloc_size_t is now controlled by a flag so
3809+ that 'small size_t' systems can select it if necessary. Libpng 1.6 may
3810+ not currently work on such systems -- it seems likely that it will
3811+ ask 'malloc' for more than 65535 bytes with any image that has a
3812+ sufficiently large row size (rather than simply failing to read such
3813+ images).
38123814 New tools directory containing tools used to generate libpng code.
38133815 Fixed race conditions in parallel make builds. With higher degrees of
38143816 parallelism during 'make' the use of the same temporary file names such
@@ -4420,7 +4422,7 @@ Version 1.6.1beta02 [February 19, 2013]
44204422
44214423Version 1.6.1beta03 [February 22, 2013]
44224424 Fixed ALIGNED_MEMORY support.
4423- Allow run-time ARM NEON checking to be disabled. A new configure option:
4425+ Added a new configure option:
44244426 --enable-arm-neon=always will stop the run-time checks. New checks
44254427 within arm/arm_init.c will cause the code not to be compiled unless
44264428 __ARM_NEON__ is set. This should make it fail safe (if someone asks
@@ -4439,10 +4441,10 @@ Version 1.6.1beta05 [March 1, 2013]
44394441Version 1.6.1beta06 [March 4, 2013]
44404442 Better documentation of unknown handling API interactions.
44414443 Corrected Android builds and corrected libpng.vers with symbol
4442- prefixing. This adds an API to set optimization options externally,
4444+ prefixing. It also makes those tests compile and link on Android.
4445+ Added an API png_set_option() to set optimization options externally,
44434446 providing an alternative and general solution for the non-portable
4444- run-time tests used by the ARM Neon code. It also makes those tests
4445- compile and link on Android.
4447+ run-time tests used by the ARM Neon code, using the PNG_ARM_NEON option.
44464448 The order of settings vs options in pnglibconf.h is reversed to allow
44474449 settings to depend on options and options can now set (or override) the
44484450 defaults for settings.
@@ -4540,7 +4542,8 @@ Version 1.6.3beta05 [May 9, 2013]
45404542 Calculate our own zlib windowBits when decoding rather than trusting the
45414543 CMF bytes in the PNG datastream.
45424544 Added an option to force maximum window size for inflating, which was
4543- the behavior of libpng15 and earlier.
4545+ the behavior of libpng15 and earlier, via a new PNG_MAXIMUM_INFLATE_WINDOW
4546+ option for png_set_options().
45444547 Added png-fix-itxt and png-fix-too-far-back to the built programs and
45454548 removed warnings from the source code and timepng that are revealed as
45464549 a result.
@@ -5143,7 +5146,9 @@ Version 1.6.17beta01 [January 29, 2015]
51435146 Added testing of png_set_packing() to pngvalid.c
51445147 Regenerated configure scripts in the *.tar distributions with libtool-2.4.4
51455148 Implement previously untested cases of libpng transforms in pngvalid.c
5146- Fixed byte order in 2-byte filler, in png_do_read_filler().
5149+ Fixed byte order in png_do_read_filler() with 16-bit input. Previously
5150+ the high and low bytes of the filler, from png_set_filler() or from
5151+ png_set_add_alpha(), were read in the wrong order.
51475152 Made the check for out-of-range values in png_set_tRNS() detect
51485153 values that are exactly 2^bit_depth, and work on 16-bit platforms.
51495154 Merged some parts of libpng-1.6.17beta01 and libpng-1.7.0beta47.
@@ -5225,7 +5230,7 @@ Version 1.6.18beta01 [April 1, 2015]
52255230
52265231Version 1.6.18beta02 [April 26, 2015]
52275232 Suppressed some warnings from the Borland C++ 5.5.1/5.82 compiler
5228- (Bug report by Viktor Szaka'ts ).
5233+ (Bug report by Viktor Szakats ).
52295234
52305235Version 1.6.18beta03 [May 6, 2015]
52315236 Replaced "unexpected" with an integer (0xabadca11) in pngset.c
@@ -5305,6 +5310,110 @@ Version 1.6.18rc03 [July 15, 2015]
53055310Version 1.6.18 [July 23, 2015]
53065311 No changes.
53075312
5313+ Version 1.6.19beta01 [July 30, 2015]
5314+ Updated obsolete information about the simplified API macros in the
5315+ manual pages (Bug report by Arc Riley).
5316+ Avoid potentially dereferencing NULL info_ptr in png_info_init_3().
5317+ Rearranged png.h to put the major sections in the same order as
5318+ in libpng17.
5319+ Eliminated unused PNG_COST_SHIFT, PNG_WEIGHT_SHIFT, PNG_COST_FACTOR, and
5320+ PNG_WEIGHT_FACTOR macros.
5321+ Suppressed some warnings from the Borland C++ 5.5.1/5.82 compiler
5322+ (Bug report by Viktor Szakats). Several warnings remain and are
5323+ unavoidable, where we test for overflow.
5324+ Fixed potential leak of png_pixels in contrib/pngminus/pnm2png.c
5325+ Fixed uninitialized variable in contrib/gregbook/rpng2-x.c
5326+
5327+ Version 1.6.19beta02 [August 19, 2015]
5328+ Moved config.h.in~ from the "libpng_autotools_files" list to the
5329+ "libpng_autotools_extra" list in autogen.sh because it was causing a
5330+ false positive for missing files (bug report by Robert C. Seacord).
5331+ Removed unreachable "break" statements in png.c, pngread.c, and pngrtran.c
5332+ to suppress clang warnings (Bug report by Viktor Szakats).
5333+ Fixed some bad links in the man page.
5334+ Changed "n bit" to "n-bit" in comments.
5335+ Added signed/unsigned 16-bit safety net. This removes the dubious
5336+ 0x8000 flag definitions on 16-bit systems. They aren't supported
5337+ yet the defs *probably* work, however it seems much safer to do this
5338+ and be advised if anyone, contrary to advice, is building libpng 1.6
5339+ on a 16-bit system. It also adds back various switch default clauses
5340+ for GCC; GCC errors out if they are not present (with an appropriately
5341+ high level of warnings).
5342+ Safely convert num_bytes to a png_byte in png_set_sig_bytes() (Robert
5343+ Seacord).
5344+ Fixed the recently reported 1's complement security issue by replacing
5345+ the value that is illegal in the PNG spec, in both signed and unsigned
5346+ values, with 0. Illegal unsigned values (anything greater than or equal
5347+ to 0x80000000) can still pass through, but since these are not illegal
5348+ in ANSI-C (unlike 0x80000000 in the signed case) the checking that
5349+ occurs later can catch them (John Bowler).
5350+
5351+ Version 1.6.19beta03 [September 26, 2015]
5352+ Fixed png_save_int_32 when int is not 2's complement (John Bowler).
5353+ Updated libpng16 with all the recent test changes from libpng17,
5354+ including changes to pngvalid.c to ensure that the original,
5355+ distributed, version of contrib/visupng/cexcept.h can be used
5356+ (John Bowler).
5357+ pngvalid contains the correction to the use of SAVE/STORE_
5358+ UNKNOWN_CHUNKS; a bug revealed by changes in libpng 1.7. More
5359+ tests contain the --strict option to detect warnings and the
5360+ pngvalid-standard test has been corrected so that it does not
5361+ turn on progressive-read. There is a separate test which does
5362+ that. (John Bowler)
5363+ Also made some signed/unsigned fixes.
5364+ Make pngstest error limits version specific. Splitting the machine
5365+ generated error structs out to a file allows the values to be updated
5366+ without changing pngstest.c itself. Since libpng 1.6 and 1.7 have
5367+ slightly different error limits this simplifies maintenance. The
5368+ makepngs.sh script has also been updated to more accurately reflect
5369+ current problems in libpng 1.7 (John Bowler).
5370+ Incorporated new test PNG files into make check. tests/pngstest-*
5371+ are changed so that the new test files are divided into 8 groups by
5372+ gamma and alpha channel. These tests have considerably better code
5373+ and pixel-value coverage than contrib/pngsuite; however,coverage is
5374+ still incomplete (John Bowler).
5375+ Removed the '--strict' in 1.6 because of the double-gamma-correction
5376+ warning, updated pngstest-errors.h for the errors detected with the
5377+ new contrib/testspngs PNG test files (John Bowler).
5378+
5379+ Version 1.6.19beta04 [October 15, 2015]
5380+ Worked around rgb-to-gray issues in libpng 1.6. The previous
5381+ attempts to ignore the errors in the code aren't quite enough to
5382+ deal with the 'channel selection' encoding added to libpng 1.7; abort.
5383+ pngvalid.c is changed to drop this encoding in prior versions.
5384+ Fixed 'pow' macros in pngvalid.c. It is legal for 'pow' to be a
5385+ macro, therefore the argument list cannot contain preprocessing
5386+ directives. Make sure pow is a function where this happens. This is
5387+ a minimal safe fix, the issue only arises in non-performance-critical
5388+ code (bug report by Curtis Leach, fix by John Bowler).
5389+ Added sPLT support to pngtest.c
5390+
5391+ Version 1.6.19rc01 [October 23, 2015]
5392+ No changes.
5393+
5394+ Version 1.6.19rc02 [October 31, 2015]
5395+ Prevent setting or writing over-length PLTE chunk (Cosmin Truta).
5396+ Silently truncate over-length PLTE chunk while reading.
5397+ Libpng incorrectly calculated the output rowbytes when the application
5398+ decreased either the number of channels or the bit depth (or both) in
5399+ a user transform. This was safe; libpng overallocated buffer space
5400+ (potentially by quite a lot; up to 4 times the amount required) but,
5401+ from 1.5.4 on, resulted in a png_error (John Bowler).
5402+
5403+ Version 1.6.19rc03 [November 3, 2015]
5404+ Fixed some inconsequential cut-and-paste typos in png_set_cHRM_XYZ_fixed().
5405+ Clarified COPYRIGHT information to state explicitly that versions
5406+ are derived from previous versions.
5407+ Removed much of the long list of previous versions from png.h and
5408+ libpng.3.
5409+
5410+ Version 1.6.19rc04 [November 5, 2015]
5411+ Fixed new bug with CRC error after reading an over-length palette
5412+ (bug report by Cosmin Truta).
5413+
5414+ Version 1.6.19 [November 12, 2015]
5415+ Cleaned up coding style in png_handle_PLTE().
5416+
53085417Send comments/corrections/commendations to png-mng-implement at lists.sf.net
53095418(subscription required; visit
53105419https://lists.sourceforge.net/lists/listinfo/png-mng-implement
0 commit comments