jdk/src/java.desktop/share/native/libsplashscreen/libpng/CHANGES
changeset 43321 2b8d397c03a4
parent 40436 94ae0ede53a5
equal deleted inserted replaced
43320:6351c8545289 43321:2b8d397c03a4
     1 /*
       
     2  * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     5  * This code is free software; you can redistribute it and/or modify it
       
     6  * under the terms of the GNU General Public License version 2 only, as
       
     7  * published by the Free Software Foundation.  Oracle designates this
       
     8  * particular file as subject to the "Classpath" exception as provided
       
     9  * by Oracle in the LICENSE file that accompanied this code.
       
    10  *
       
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    14  * version 2 for more details (a copy is included in the LICENSE file that
       
    15  * accompanied this code).
       
    16  *
       
    17  * You should have received a copy of the GNU General Public License version
       
    18  * 2 along with this work; if not, write to the Free Software Foundation,
       
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    20  *
       
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    22  * or visit www.oracle.com if you need additional information or have any
       
    23  * questions.
       
    24  */
       
    25 
       
    26 #if 0
     1 #if 0
    27 CHANGES - changes for libpng
     2 CHANGES - changes for libpng
    28 
     3 
    29 version 0.1 [March 29, 1995]
     4 version 0.1 [March 29, 1995]
    30   initial work-in-progress release
     5   initial work-in-progress release
   616   Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text
   591   Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text
   617     structure; refactored the inflate/deflate support to make adding new chunks
   592     structure; refactored the inflate/deflate support to make adding new chunks
   618     with trailing compressed parts easier in the future, and added new functions
   593     with trailing compressed parts easier in the future, and added new functions
   619     png_free_iCCP, png_free_pCAL, png_free_sPLT, png_free_text, png_get_iCCP,
   594     png_free_iCCP, png_free_pCAL, png_free_sPLT, png_free_text, png_get_iCCP,
   620     png_get_spalettes, png_set_iCCP, png_set_spalettes (Eric S. Raymond).
   595     png_get_spalettes, png_set_iCCP, png_set_spalettes (Eric S. Raymond).
   621   NOTE: Applications that write text chunks MUST define png_text->lang
   596     NOTE: Applications that write text chunks MUST define png_text->lang
   622     before calling png_set_text(). It must be set to NULL if you want to
   597     before calling png_set_text(). It must be set to NULL if you want to
   623     write tEXt or zTXt chunks.  If you want your application to be able to
   598     write tEXt or zTXt chunks.  If you want your application to be able to
   624     run with older versions of libpng, use
   599     run with older versions of libpng, use
   625 
   600 
   626       #ifdef PNG_iTXt_SUPPORTED
   601       #ifdef PNG_iTXt_SUPPORTED
  5619     memcpy() with a null source, even if count is zero (Leon Scroggins III).
  5594     memcpy() with a null source, even if count is zero (Leon Scroggins III).
  5620 
  5595 
  5621 Version 1.6.23 [June 9, 2016]
  5596 Version 1.6.23 [June 9, 2016]
  5622   Fixed bad link to RFC2083 in png.5 (Nikola Forro).
  5597   Fixed bad link to RFC2083 in png.5 (Nikola Forro).
  5623 
  5598 
       
  5599 Version 1.6.24beta01 [June 11, 2016]
       
  5600   Avoid potential overflow of the PNG_IMAGE_SIZE macro.  This macro
       
  5601     is not used within libpng, but is used in some of the examples.
       
  5602 
       
  5603 Version 1.6.24beta02 [June 23, 2016]
       
  5604   Correct filter heuristic overflow handling. This was broken when the
       
  5605     write filter code was moved out-of-line; if there is a single filter and
       
  5606     the heuristic sum overflows the calculation of the filtered line is not
       
  5607     completed.  In versions prior to 1.6 the code was duplicated in-line
       
  5608     and the check not performed, so the filter operation completed; however,
       
  5609     in the multi-filter case where the sum is performed the 'none' filter would
       
  5610     be selected if all the sums overflowed, even if it wasn't in the filter
       
  5611     list.  The fix to the first problem is simply to provide PNG_SIZE_MAX as
       
  5612     the current lmins sum value; this means the sum can never exceed it and
       
  5613     overflows silently.  A reasonable compiler that does choose to inline
       
  5614     the code will simply eliminate the sum check.
       
  5615   The fix to the second problem is to use high precision arithmetic (this is
       
  5616     implemented in 1.7), however a simple safe fix here is to chose the lowest
       
  5617     numbered filter in the list from png_set_filter (this only works if the
       
  5618     first problem is also fixed) (John Bowler).
       
  5619   Use a more efficient absolute value calculation on SSE2 (Matthieu Darbois).
       
  5620   Fixed the case where PNG_IMAGE_BUFFER_SIZE can overflow in the application
       
  5621     as a result of the application using an increased 'row_stride'; previously
       
  5622     png_image_finish_read only checked for overflow on the base calculation of
       
  5623     components.  (I.e. it checked for overflow of a 32-bit number on the total
       
  5624     number of pixel components in the output format, not the possibly padded row
       
  5625     length and not the number of bytes, which for linear formats is twice the
       
  5626     number of components.)
       
  5627   MSVC does not like '-(unsigned)', so replaced it with 0U-(unsigned)
       
  5628   MSVC does not like (uInt) = -(unsigned) (i.e. as an initializer), unless
       
  5629     the conversion is explicitly invoked by a cast.
       
  5630   Put the SKIP definition in the correct place. It needs to come after the
       
  5631     png.h include (see all the other .c files in contrib/libtests) because it
       
  5632     depends on PNG_LIBPNG_VER.
       
  5633   Removed the three compile warning options from the individual project
       
  5634     files into the zlib.props globals.  It increases the warning level from 4
       
  5635     to All and adds a list of the warnings that need to be turned off.  This is
       
  5636     semi-documentary; the intent is to tell libpng users which warnings have
       
  5637     been examined and judged non-fixable at present.  The warning about
       
  5638     structure padding is fixable, but it would be a signficant change (moving
       
  5639     structure members around).
       
  5640 
       
  5641 Version 1.6.24beta03 [July 4, 2016]
       
  5642   Optimized absolute value calculation in filter selection, similar to
       
  5643     code in the PAETH decoder in pngrutil.c. Build with PNG_USE_ABS to
       
  5644     use this.
       
  5645   Added pngcp to the build together with a pngcp.dfa configuration test.
       
  5646   Added high resolution timing to pngcp.
       
  5647   Added "Common linking failures" section to INSTALL.
       
  5648   Relocated misplaced #endif in png.c sRGB profile checking.
       
  5649   Fixed two Coverity issues in pngcp.c.
       
  5650 
       
  5651 Version 1.6.24beta04 [July 8, 2016]
       
  5652   Avoid filter-selection heuristic sum calculations in cases where only one
       
  5653     filter is a candidate for selection. This trades off code size (added
       
  5654     private png_setup_*_row_only() functions) for speed.
       
  5655 
       
  5656 Version 1.6.24beta05 [July 13, 2016]
       
  5657   Fixed some indentation to comply with our coding style.
       
  5658   Added contrib/tools/reindent.
       
  5659 
       
  5660 Version 1.6.24beta06 [July 18, 2016]
       
  5661   Fixed more indentation to comply with our coding style.
       
  5662   Eliminated unnecessary tests of boolean png_isaligned() vs 0.
       
  5663 
       
  5664 Version 1.6.24rc01 [July 25, 2016]
       
  5665   No changes.
       
  5666 
       
  5667 Version 1.6.24rc02 [August 1, 2016]
       
  5668   Conditionally compile SSE2 headers in contrib/intel/intel_sse.patch
       
  5669   Conditionally compile png_decompress_chunk().
       
  5670 
       
  5671 Version 1.6.24rc03 [August 2, 2016]
       
  5672   Conditionally compile ARM_NEON headers in pngpriv.h
       
  5673   Updated contrib/intel/intel_sse.patch
       
  5674 
       
  5675 Version 1.6.24[August 4, 2016]
       
  5676   No changes.
       
  5677 
       
  5678 Version 1.6.25beta01 [August 12, 2016]
       
  5679   Reject oversized iCCP profile immediately.
       
  5680   Cleaned up PNG_DEBUG compile of pngtest.c.
       
  5681   Conditionally compile png_inflate().
       
  5682 
       
  5683 Version 1.6.25beta02 [August 18, 2016]
       
  5684   Don't install pngcp; it conflicts with pngcp in the pngtools package.
       
  5685   Minor editing of INSTALL, (whitespace, added copyright line)
       
  5686 
       
  5687 Version 1.6.25rc01 [August 24, 2016]
       
  5688   No changes.
       
  5689 
       
  5690 Version 1.6.25rc02 [August 29, 2016]
       
  5691   Added MIPS support (Mandar Sahastrabuddhe <Mandar.Sahastrabuddhe@imgtec.com>).
       
  5692   Only the UP filter is currently implemented.
       
  5693 
       
  5694 Version 1.6.25rc03 [August 29, 2016]
       
  5695   Rebased contrib/intel/intel_sse.patch after the MIPS implementation.
       
  5696 
       
  5697 Version 1.6.25rc04 [August 30, 2016]
       
  5698   Added MIPS support for SUB, AVG, and PAETH filters (Mandar Sahastrabuddhe).
       
  5699 
       
  5700 Version 1.6.25rc05 [August 30, 2016]
       
  5701   Rebased contrib/intel/intel_sse.patch after the MIPS implementation update..
       
  5702 
       
  5703 Version 1.6.25 [September 1, 2016]
       
  5704   No changes.
       
  5705 
       
  5706 Version 1.6.26beta01 [September 26, 2016]
       
  5707   Fixed handling zero length IDAT in pngfix (bug report by Agostino Sarubbo,
       
  5708     bugfix by John Bowler).
       
  5709   Do not issue a png_error() on read in png_set_pCAL() because png_handle_pCAL
       
  5710     has allocated memory that libpng needs to free.
       
  5711   Conditionally compile png_set_benign_errors() in pngread.c and pngtest.c
       
  5712   Issue a png_benign_error instead of a png_error on ADLER32 mismatch
       
  5713     while decoding compressed data chunks.
       
  5714   Changed PNG_ZLIB_VERNUM to ZLIB_VERNUM in pngpriv.h, pngstruct.h, and
       
  5715     pngrutil.c.
       
  5716   If CRC handling of critical chunks has been set to PNG_CRC_QUIET_USE,
       
  5717     ignore the ADLER32 checksum in the IDAT chunk as well as the chunk CRCs.
       
  5718   Issue png_benign_error() on ADLER32 checksum mismatch instead of png_error().
       
  5719   Add tests/badcrc.png and tests/badadler.png to tests/pngtest.
       
  5720   Merged pngtest.c with libpng-1.7.0beta84/pngtest.c
       
  5721 
       
  5722 Version 1.6.26beta02 [October 1, 2016]
       
  5723   Updated the documentation about CRC and ADLER32 handling.
       
  5724   Quieted 117 warnings from clang-3.8 in pngtrans.c, pngread.c,
       
  5725      pngwrite.c, pngunknown.c, and pngvalid.c.
       
  5726   Quieted 58 (out of 144) -Wconversion compiler warnings by changing
       
  5727     flag definitions in pngpriv.h from 0xnnnn to 0xnnnnU and trivial changes
       
  5728     in png.c, pngread.c, and pngwutil.c.
       
  5729 
       
  5730 Version 1.6.26beta03 [October 2, 2016]
       
  5731   Removed contrib/libtests/*.orig and *.rej that slipped into the tarballs.
       
  5732   Quieted the 86 remaining -Wconversion compiler warnings by
       
  5733     revising the png_isaligned() macro and trivial changes in png.c,
       
  5734     pngerror.c, pngget.c, pngmem.c, pngset.c, pngrtran.c, pngrutil.c,
       
  5735     pngwtran.c, pngwrite.c, and pngwutil.c.
       
  5736 
       
  5737 Version 1.6.26beta04 [October 3, 2016]
       
  5738   Quieted (bogus?) clang warnings about "absolute value has no effect"
       
  5739     when PNG_USE_ABS is defined.
       
  5740   Fixed offsets in contrib/intel/intel_sse.patch
       
  5741 
       
  5742 Version 1.6.26beta05 [October 6, 2016]
       
  5743   Changed integer constant 4294967294 to unsigned 4294967294U in pngconf.h
       
  5744     to avoid a signed/unsigned compare in the preprocessor.
       
  5745 
       
  5746 Version 1.6.26beta06 [October 7, 2016]
       
  5747   Use zlib-1.2.8.1 inflateValidate() instead of inflateReset2() to
       
  5748     optionally avoid ADLER32 evaluation.
       
  5749 
       
  5750 Version 1.6.26rc01 [October 12, 2016]
       
  5751   No changes.
       
  5752 
       
  5753 Version 1.6.26 [October 20, 2016]
       
  5754   Cosmetic change, "ptr != 0" to "ptr != NULL" in png.c and pngrutil.c
       
  5755   Despammed email addresses (replaced "@" with " at ").
       
  5756 
       
  5757 Version 1.6.27beta01 [November 2, 2016]
       
  5758   Restrict the new ADLER32-skipping to IDAT chunks.  It broke iCCP chunk
       
  5759     handling: an erroneous iCCP chunk would throw a png_error and reject the
       
  5760     entire PNG image instead of rejecting just the iCCP chunk with a warning,
       
  5761     if built with zlib-1.2.8.1.
       
  5762 
       
  5763 Version 1.6.27rc01 [December 27, 2016]
       
  5764   Control ADLER32 checking with new PNG_IGNORE_ADLER32 option.
       
  5765   Removed the use of a macro containing the pre-processor 'defined'
       
  5766     operator.  It is unclear whether this is valid; a macro that
       
  5767     "generates" 'defined' is not permitted, but the use of the word
       
  5768     "generates" within the C90 standard seems to imply more than simple
       
  5769     substitution of an expression itself containing a well-formed defined
       
  5770     operation.
       
  5771   Added ARM support to CMakeLists.txt (Andreas Franek).
       
  5772 
       
  5773 Version 1.6.27 [December 29, 2016]
       
  5774   Fixed a potential null pointer dereference in png_set_text_2() (bug report
       
  5775     and patch by Patrick Keshishian, CVE-2016-10087).
       
  5776 
       
  5777 Version 1.6.28rc01 [January 3, 2017]
       
  5778   Fixed arm/aarch64 detection in CMakeLists.txt (Gianfranco Costamagna).
       
  5779   Added option to Cmake build allowing a custom location of zlib to be
       
  5780     specified in a scenario where libpng is being built as a subproject
       
  5781     alongside zlib by another project (Sam Serrels).
       
  5782   Changed png_ptr->options from a png_byte to png_uint_32, to accomodate
       
  5783     up to 16 options.
       
  5784 
       
  5785 Version 1.6.28rc02 [January 4, 2017]
       
  5786   Added "include(GNUInstallDirs)" to CMakeLists.txt (Gianfranco Costamagna).
       
  5787   Moved SSE2 optimization code into the main libpng source directory.
       
  5788     Configure libpng with "configure --enable-intel-sse" or compile
       
  5789     libpng with "-DPNG_INTEL_SSE" in CPPFLAGS to enable it.
       
  5790 
       
  5791 Version 1.6.28rc03 [January 4, 2017]
       
  5792   Backed out the SSE optimization and last CMakeLists.txt to allow time for QA.
       
  5793 
       
  5794 Version 1.6.28 [January 5, 2017]
       
  5795   No changes.
       
  5796 
  5624 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
  5797 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
  5625 (subscription required; visit
  5798 (subscription required; visit
  5626 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
  5799 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
  5627 to subscribe)
  5800 to subscribe)
  5628 or to glennrp at users.sourceforge.net
  5801 or to glennrp at users.sourceforge.net