• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:exclude +full:- +full:unreachable +full:- +full:branches

1 CHANGES - changes for libpng
4 initial work-in-progress release
68 added png_read_update_info() - updates info structure with transformations
79 fixed some bugs (16-bit, 4-bit interlaced, etc.)
103 Changed warning/error callback functions to fix bug - this means you
115 in pngconf.h) - if nobody uses this, it may disappear in the future.
129 libpng will use the zlib CRC routines by (compile-time) default
130 Changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner)
139 of nearly identical error messages (will simplify multi-lingual
141 Try to get ready for unknown-chunk callback functions:
142 - previously read critical chunks are flagged, so the chunk handling
144 - all chunk handling routines have the same prototypes, so we will
157 packed-pixel bytes (Kevin Bracey)
163 Changed several variables to "png_size_t" to show 16/32-bit limitations
168 Added macros to read 16- and 32-bit ints directly from buffer, to be
186 Fixed 256-color transparency bug (Greg Roelofs)
200 Fixed bug in gamma handling of 4-bit grayscale
201 Added 2-bit grayscale gamma handling (Glenn R-P)
202 Added more typecasts. 65536L becomes (png_uint_32)65536L, etc. (Glenn R-P)
204 Added simple sRGB support (Glenn R-P)
207 all configurable options can be selected from command-line instead
208 of having to edit pngconf.h (Glenn R-P)
209 Fixed memory leak in pngwrite.c (free info_ptr->text) (Glenn R-P)
215 Added "-m" option and PNGTEST_DEBUG_MEMORY to pngtest (John Bowler)
216 Regularized version numbering scheme and bumped shared-library major
222 Fixed memory leaks in pCAL chunk processing (Glenn R-P and John Bowler)
229 Added png_invert_alpha capability (Glenn R-P -- suggestion by Jon Vincent)
233 Free info_ptr->text instead of end_info_ptr->text in pngread.c (John Bowler)
241 png_get_image_height(), etc. (Glenn R-P, suggestion by Brad Pettit)
242 Added TARGET_MACOS similar to zlib-1.0.8
267 Check for overlength tRNS chunk present when indexed-color PLTE is read.
279 Changed pngtest to report PASS even when file size is different (Jean-loup G.)
309 Replaced ansi2knr.c with the one from jpeg-v6
321 Make months range from 1-12 in png_convert_to_rfc1123
340 Added grayscale and 16-bit capability to png_do_read_filler().
345 than num_palette entries -- test was done before num_palette was defined.
354 Fixed two bugs (missing definitions of "istop") introduced in libpng-1.0.1a.
356 More work on the Paeth-filtering, achieving imperceptible speedup
365 Fixed a bug in pngrtran.c (introduced in libpng-1.0.1a) where the masks for
380 Revised png_read_rows() to avoid repeated if-testing for NULL (A Kleinert)
386 Changed several loops from count-down to count-up, for consistency.
394 error that was introduced in libpng-0.90 that can cause gamma processing
398 Add png_free(png_ptr->time_buffer) in png_destroy_read_struct()
400 Added capability for user-provided malloc_fn() and free_fn() functions,
411 the left-most pixel of each row (Kevin Bracey).
416 Fixed a problem in pngrutil.c: gray_to_rgb didn't always work with 16-bit.
423 Fixed a documentation error about default filtering with 8-bit indexed-color.
430 Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and
450 Added check if png_ptr->trans is defined before freeing it in pngread.c
453 Modified makefile.wat (added -zp8 flag, ".symbolic", changed some comments)
460 Updated documentation to refer to the PNG-1.2 specification.
464 channels to 16-bit images, in pngrtran.c (Chris Nokleberg)
472 consistent with PNG-1.2, and allow variance of 500 before complaining.
476 Changed "ln -s -f" to "ln -f -s" in the makefiles to make Solaris happy.
509 Updated pngvcrd.c to use the faster C filter algorithms from libpng-1.0.1a
517 Changed several division operations to right-shifts in pngvcrd.c
521 Added a comment in makefile.linux warning about buggy -O3 in pgcc 2.95.1
532 Re-enabled some parts of pngvcrd.c (png_combine_row) that work properly.
536 Replaced some instances of memcpy with simple assignments in pngvcrd (GR-P)
556 Added code in pngwrite.c to free info_ptr->text[i].key to stop a memory leak.
576 Removed some extraneous "-I" from contrib/pngminus/makefile.std
577 Changed the PNG_sRGB_INTENT macros in png.h to be consistent with PNG-1.2.
595 NOTE: Applications that write text chunks MUST define png_text->lang
609 Removed comments on #endifs at the end of many short, non-nested #if-blocks.
614 Removed "- [date]" from the "synopsis" line in libpng.3 and libpngpf.3.
630 fixed-point functions such as png_set_gAMA_fixed() were added.
638 Added a test for up->location != 0 in the first instance of writing
656 The "Note" above, about backward incompatibility of libpng-1.0.5e, no
661 Reversed the order of trying to write floating-point and fixed-point gAMA.
668 Eliminated erroneous warnings about multiple sPLT chunks and sPLT-after-PLTE.
669 Fixed a libpng-1.0.5h bug in pngrutil.c that was issuing erroneous warnings
681 Added high-level functions png_read_png(), png_write_png(), png_free_pixels().
685 own memory for info_ptr->palette. This makes it safe for the calling
712 Revised some of the DLL-export macros in pngconf.h (Greg Roelofs)
725 Modified png_read_png() to allocate info_ptr->row_pointers only if it
730 Fixed "interlace" typo (should be "interlaced") in contrib/gregbook/read2-x.c
731 Fixed bug with use of PNG_BEFORE_IHDR bit in png_ptr->mode, introduced when
732 PNG_FLAG_HAVE_CHUNK_HEADER was moved into png_ptr->mode in version 1.0.5b
734 a 24-bit visual if one is available, and to allow abbreviated options.
743 Added makefile.bc32 (32-bit Borland C++, C mode)
754 Minor revisions of makefile.bor, libpng.txt, and gregbook/rpng2-win.c
764 Added a check for info_ptr->free_me&PNG_FREE_TEXT when freeing text in png.c
765 Simplify png_sig_bytes() function to remove use of non-ISO-C strdup().
769 In the code that checks for over-length tRNS chunks, added check of
770 info_ptr->num_trans as well as png_ptr->num_trans (Matthias Benckmann)
788 Added png_pass-* arrays to pnggccrd.c when PNG_USE_LOCAL_ARRAYS is defined.
791 Relocated info_ptr->free_me, png_ptr->free_me, and other info_ptr and
792 png_ptr members to restore binary compatibility with libpng-1.0.5
793 (breaks compatibility with libpng-1.0.6).
796 Changed shared library so-number pattern from 2.x.y.z to xy.z (this builds
815 the high-level interface, and unknown chunks support (all new in 1.0.6).
817 directly as authors were instructed to do in libpng-0.88 and earlier,
838 overrun when old applications fill the info_ptr->text structure directly.
861 Removed info_ptr->valid tests from png_free_data(), as in version 1.0.5.
879 Added "msvc" directory with MSVC++ project files (Simon-Pierre Cadieux).
884 Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer
918 Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment.
926 for indexed-color input files to avoid potential double-freeing trans array
945 Fixed seqence-point bug in contrib/pngminus/png2pnm (Martin Zinser)
983 Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
1001 Improved handling of out-of-spec garbage iCCP chunks generated by PhotoShop.
1017 be re-enabled in version 1.2.0.
1024 Added "-nommx" parameter to contrib/gregbook/rpng2-win and rpng2-x demos.
1052 Removed a no-longer needed AIX work-around from pngconf.h
1053 Changed several "//" single-line comments to C-style in pnggccrd.c
1074 Added some never-to-be-executed code in pnggccrd.c to quiet compiler warnings.
1078 libpng-0.88 and earlier.
1082 Re-enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED
1095 Bumped shared-library (so-number) and dll-number to 3.
1100 Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc
1101 Bumped dll-number from 2 to 3 in makefile.cygwin
1102 Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly
1103 if user attempts to run it on an 8-bit display.
1115 Revised pnggccrd.c to conditionally compile some thread-unsafe code only
1118 value exceeding 2^bit_depth-1
1121 Removed restriction that do_invert_mono only operate on 1-bit opaque files
1125 Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC().
1159 Always allocate 256-entry internal palette, hist, and trans arrays, to
1160 avoid out-of-bounds memory reference caused by invalid PNG datastreams.
1170 Revised makefile.darwin to remove "-undefined suppress" option.
1172 the limit for PNG unsigned 32-bit integers when encoded.
1181 Added install-static to all makefiles that make shared libraries.
1187 Modified shared-library makefiles to install pkgconfig/libpngNN.pc.
1191 Added install-shared target to all makefiles that make shared libraries.
1198 Relocated a misplaced /bin/rm in the "install-shared" makefile targets
1199 Added PNG_1_0_X macro which can be used to build a 1.0.x-compatible library.
1223 Add "mem_ptr = png_ptr->mem_ptr" in png_destroy_write_struct() (Paul Gardner).
1237 Fixed VER -> PNGVER typo in makefile.macosx and added install-static to
1249 Added install-man target to 15 makefiles (Dimitri Papadopolous-Orfanos).
1252 Updated cygwin-specific portion of pngconf.h and revised makefile.cygwin
1267 Added "libpng.pc" dependency to the "install-shared" target in 15 makefiles.
1274 Typos in *.def files (png_default_read|write -> png_default_read|write_data)
1276 Added libpng-config and libpngNN-config and modified makefiles to install
1284 Revised 15 makefiles to build libpng-config from libpng-config-*.in
1293 Removed leftover libpng-config "sed" script from four makefiles.
1294 Revised libpng-config creating script in 16 makefiles.
1297 Revised libpng-config target in makefile.cygwin.
1302 Changed -lpng to -lpngNN in LDFLAGS in several makefiles.
1305 Added libpng.pc and libpng-config to "all:" target in 16 makefiles.
1312 Plugged memory leak of png_ptr->current_text (Matt Holgate).
1314 Added -soname to the loader flags in makefile.dec, makefile.sgi, and
1316 Added "test-installed" target to makefile.linux, makefile.gcmmx,
1322 Added "test-installed" target to makefile.32sunu, makefile.64sunu,
1327 Added "test-installed" target to makefile.cygwin and makefile.sco.
1342 Prevent png_ptr->pass from exceeding 7 in png_push_finish_row().
1355 Revised 13 makefiles to remove "-lz" and "-L$(ZLIBLIB)", etc., from shared
1361 Revised libpng-config script.
1372 Fixed memory overrun bug in png_do_read_filler() with 16-bit datastreams,
1377 Added libpng-config "--ldopts" output.
1385 Changed the one instance of "ln -sf" to "ln -f -s" in each Sun makefile.
1395 on 16-bit platforms (Cosmin).
1397 Used proper type png_fixed_point, to avoid problems on 16-bit platforms,
1405 Replaced row_info->rowbytes with row_bytes in png_write_find_filter()
1407 Fixed definition of PNG_LIBPNG_VER_DLLNUM (Simon-Pierre).
1409 values in png.c (Simon-Pierre, Cosmin).
1410 Initialized png_libpng_ver[] with PNG_LIBPNG_VER_STRING (Simon-Pierre).
1412 (Simon-Pierre).
1415 Relocated #ifndef PNGAPI guards in pngconf.h (Simon-Pierre, Cosmin).
1417 Updated the MSVC project (Simon-Pierre, Cosmin).
1449 Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4.
1459 Fixed buffer overflow vulnerability (CVE-2004-0597) in png_handle_tRNS().
1460 Fixed NULL dereference vulnerability (CVE-2004-0598) in png_handle_iCCP().
1461 Fixed integer overflow vulnerability (CVE-2004-0599) in png_read_png().
1464 Fixed some timestamps in the -config version
1468 Imposed default one million column, one-million row limits on the image
1479 Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in
1483 Fixed problem with 64-bit compilers by casting arguments to abs()
1485 Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9).
1487 Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles.
1488 Added code to update the row_info->colortype in png_do_read_filler() (MSB).
1492 trouble with some 64-bit compilers. Created PNG_OUT_OF_RANGE() macro.
1513 Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
1518 Fixed bug with sCAL chunk and big-endian machines (David Munro).
1532 Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during
1548 Set png_ptr->zstream.data_type to Z_BINARY, to avoid unnecessary detection
1554 Use png_ptr->flags instead of png_ptr->transformations to pass
1571 if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
1575 Reverted pngrutil.c to version libpng-1.2.8beta5.
1580 Added projects/visualc7 (Simon-pierre).
1589 Initialized some structure members in pngwutil.c to avoid gcc-4.0.0 complaints
1592 Updated references to png-mng-implement mailing list.
1594 Added PNG_NO_READ_SUPPORTED conditional for making a write-only library.
1596 Optimized alpha-inversion loops in pngwtran.c
1639 libpng-1.2.9beta1.
1663 Bug introduced in libpng-1.2.8.
1678 Made pnggccrd.c PIC-compliant (Christian Aichinger).
1683 Fixed out-of-order declaration in pngwrite.c that was introduced in beta9
1695 -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
1713 Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
1724 Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
1730 writing an embedded PNG without the 8-byte signature.
1739 The shared-library makefiles were linking to libpng.so.0 instead of
1745 Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb)
1756 Allow zero-length IDAT chunks after the entire zlib datastream, but not
1765 Fixed typo in several makefiles (-W1 should be -Wl)
1766 Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
1769 Removed the new typedefs for 64-bit systems (delay until version 1.4.0)
1774 Really removed the new typedefs for 64-bit systems.
1788 Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
1790 Detect and fix attempt to write wrong iCCP profile length (CVE-2006-7244)
1799 Built Makefile.in with automake-1.9.6 instead of 1.9.2.
1800 Build configure with autoconf-2.60 instead of 2.59
1812 Generated configure with autoconf-2.61 instead of 2.60
1813 Revised configure.ac to update libpng.pc and libpng-config.
1843 Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
1881 Added png_ptr->unknown_chunk to hold working unknown chunk data, so it
1886 Revised symbol-handling in configure script.
1893 Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
1894 to eliminate a vulnerability (CVE-2007-2445, CERT VU#684664)
1898 Reverted the libpng-1.2.17rc3 change to symbol-handling in configure script
1902 change of libpng-1.2.17beta2. Changed other "const" to "PNG_CONST"
1937 Updated makefile.sgcc and makefile.solaris; added makefile.solaris-x86.
1943 Enabled iTXt support (changes png_struct, thus requires so-number change).
1951 Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
1952 Replaced sprintf() with png_sprintf() (Simon-Pierre)
1956 Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
1985 sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
1987 Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
2031 Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
2039 Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
2056 Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
2068 Built Makefile.in with automake-1.9.6 instead of 1.9.2.
2069 Build configure with autoconf-2.60 instead of 2.59
2093 Deleted all use of the MMX assembler code and Intel-licensed optimizations.
2102 Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
2105 Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
2109 Change all remaining "chunkdata" to "png_ptr->chunkdata" in
2123 Synced contrib directory and configure files with libpng-1.2.30beta06.
2124 Eliminated no-longer-used pngdefs.h (but it's still built in the makefiles)
2130 Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
2146 Revised usage of PNG_STRING_NEWLINE to work on non-ISO compilers.
2148 Added non-ISO versions of png_debug macros.
2156 in libpng-1.4.0beta20.
2168 Fixed off-by-one error introduced in png_push_read_zTXt() function in
2169 libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
2173 Changed so-number from 0 to 14. Some OS do not like 0.
2179 Sync with tEXt vulnerability fix in libpng-1.2.33rc02.
2186 Added check for zero-area RGB cHRM triangle in png_check_cHRM() and
2196 check for all-zero coordinates that is detected by the triangle check.
2199 Fixed string vs pointer-to-string error in png_check_keyword().
2210 (Merge with version 1.2.34beta05 -- Arvan Pritchard).
2230 Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
2236 Fixed bug introduced in libpng-1.4.0beta48 with the memset arguments
2239 (bug introduced in libpng-1.2.34/1.4.0beta29).
2258 This avoids building 16-bit gamma tables unnecessarily.
2282 "shadowed declaration" warning from gcc-4.3.3.
2287 Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
2289 Rebuilt configure scripts with autoconf-2.63 instead of 2.62
2298 Reformated sources in libpng style (3-space indentation, comment format)
2346 Added high-level API transform PNG_TRANSFORM_GRAY_TO_RGB.
2353 Simplified the new filter-selection test. This runs faster in the
2356 (bug introduced in libpng-1.4.0beta67).
2362 (bug introduced in libpng-0.95, discovered by Evan Rouault)
2365 Rebuilt configure scripts with autoconf-2.64.
2373 (JD Chen) (CVE-2009-5063).
2386 Removed lpXYZ.tar.bz2 (with CRLF), KNOWNBUG, libpng-x.y.z-KNOWNBUG.txt,
2413 Eliminated unused png_ptr->row_buf_size
2425 Revised png_check_IHDR() to add a test for width variable less than 32-bit.
2449 Merged libpng-1.2.41.txt with libpng-1.4.0.txt where appropriate.
2473 Updated scripts/makefile* to add "-DPNG_CONFIGURE_LIBPNG" to CFLAGS,
2493 Updated CMakeLists.txt to add "-DPNG_CONFIGURE_LIBPNG" to the definitions.
2499 Added -DPNG_CONFIGURE_LIBPNG to contrib/pngminm/*/makefile
2512 (evidently the same change made in libpng-1.0beta54 was lost).
2516 Restored pngtest.png to the libpng-1.4.0beta7 version.
2525 Moved libpng-config.in and libpng.pc-configure.in out of the scripts
2526 directory, to libpng-config.in and libpng-pc.in, respectively, and
2534 Revised CMakeLists.txt to account for new location of libpng-config.in
2535 and libpng-pc.in
2544 Added libpng-config.in and libpng-pc.in to the zip and 7z distributions.
2552 Align row_buf on 16-byte boundary in memory.
2564 Rebuilt configure scripts with autoconf-2.65
2579 Removed "-DPNG_CONFIGURE_LIBPNG" from the makefiles and projects.
2587 Removed leftover "-DPNG_CONFIGURE_LIBPNG" from contrib/pngminim/*/makefile
2590 in some 16-bit datastreams (Yusaku Sugai).
2595 PNG_16_TO_8 transform has been set, to avoid unnecessary build of 16-bit
2602 Renamed libpng-pc.in back to libpng.pc.in and revised CMakeLists.txt
2610 Changed "libpng-pc.in" to "libpng.pc.in" in configure.ac, configure, and
2611 Makefile.in to be consistent with changes in libpng-1.4.0rc03
2614 Reverted the gamma_table changes from libpng-1.4.0beta109.
2618 Revised libpng*.txt and libpng.3 about 1.2.x->1.4.x differences.
2623 Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
2631 unclosed if-statement warning (Philip Lowman).
2659 Revised png_decompress_chunk() to use a two-pass method suggested by
2666 Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
2667 png_ptr->png_user_chunk_malloc_max.
2706 Removed obsolete unused MMX-querying support from contrib/gregbook
2709 Added -D_ALLSOURCE in configure.ac, makefile.aix, and CMakeLists.txt
2713 Removed -D_ALLSOURCE from configure.ac, makefile.aix, and CMakeLists.txt.
2714 Changed the name of png_ptr->jmpbuf to png_ptr->png_jmpbuf in pngstruct.h
2722 Removed checking for already-included setjmp.h from pngconf.h
2746 Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c
2756 and appropriate changes made to all files. Cygwin builds re-hinged to
2768 Removed the include of sys/types.h - apparently unnecessary now on the
2786 the one actually required - read or write.)
2792 Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
2798 Freeze build-time only configuration in the build.
2805 each time - pngconf.h holds these. Options that can be changed
2806 per-file in the application are in png.h. Frozen options are
2809 with libpng-1.5.0.
2825 is to use the macros - this allows applications to choose at app build
2830 __stdcall is no longer needed for Visual Basic, so libpng-1.5.0 uses
2834 Relaxed the overly-restrictive permissions of some files.
2837 Relaxed more overly-restrictive permissions of some files.
2847 Fixed dependencies of GET_INT_32 - it does not require READ_INT_FUNCTIONS
2872 offset of the png_ptr->rowbuf pointer into png_ptr->big_row_buf.
2877 Removed the now-redundant check for out-of-bounds new_row from example.c
2919 Structure Exceptions or C++ exceptions (compiler willing - note that gcc
2922 appropriate. If mainprog->jmpbuf is used by setjmp, then png_longjmp
2931 Removed some newly-added TAB characters.
2932 Added -DNO_PNG_SNPRINTF to CFLAGS in scripts/makefile.dj2
2947 Errors in the 16-bit gamma correction (overflows) have been corrected.
2962 Replaced oFFs 0,0 with oFFs -10,20 in pngtest.png
2976 those already present in GCC - necessary because without these some
2978 pngvalid and checks with gcc -Wall -Wextra -Wunused.
2990 Don't try to use version-script with cygwin/mingw.
3007 Fixed non-GCC fixed point builds. In png.c a declaration was misplaced
3021 Simplified the pngvalid error-handling code now that cexcept.h is in place.
3043 Fixed a number of problems with 64-bit compilation reported by Visual
3052 bug was introduced in libpng-1.2.9beta5.
3062 Check for out-of-range text compression mode in png_set_text().
3072 Updated INSTALL to mention using "make maintainer-clean" and to remove
3074 Disabled "color-tests" by default in Makefile.am so it will work with
3076 Use document name "libpng-manual.txt" instead of "libpng-<version>.txt"
3094 With these changes only -Wconversion and -Wcast-qual cannot be turned on.
3095 Changes are trivial rearrangements of code. -Wconversion is not possible
3097 smaller than (int) or (unsigned int)) and -Wcast-qual is not possible
3107 Included documentation of changes in 1.5.0 from 1.4.x in libpng-manual.txt
3119 Instead put them in pngtest-log.txt
3120 Added "--with-zprefix=<string>" to configure.ac
3125 Fixed the clean rule in Makefile.am to remove pngtest-log.txt
3139 looking for the flag in png_ptr->transformations instead of in
3140 png_ptr->flags) (David Raymond).
3146 Changed the new configure option "zprefix=string" to "zlib-prefix=string"
3162 palette mapped images correctly. This fixes CVE-2690.
3188 or an over-large compressed zTXt chunk with the progressive reader.
3221 (CVE-2011-0408, CERT VU#643140). The documentation did not accurately
3226 introduced in libpng-1.0.0.
3230 symbol file preprocessing now uses -DPNG_NO_USE_READ_MACROS even when
3239 The type was self-evidently incorrect but only causes problems on 64-bit
3255 More -Wshadow fixes for older gcc compilers. Older gcc versions apparently
3286 Added a hint to try CPP=/bin/cpp if "cpp -E" fails in scripts/pnglibconf.mak
3289 Fixed a bug (present since libpng-1.0.7) that makes png_handle_sPLT() fail
3300 Re-initialize the zlib compressor before compressing non-IDAT chunks.
3302 set parameters for zlib compression of non-IDAT chunks.
3306 Only compile the new zlib re-initializing code when text or iCCP is
3308 Improved the optimization of the zlib CMF byte (see libpng-1.2.6beta03).
3309 Optimize the zlib CMF byte in non-IDAT compressed chunks
3312 Fixed gcc -ansi -pedantic compile. A strict ANSI system does not have
3320 Removed the no-longer-used PNG_DEPSTRUCT macro.
3322 Fixed 64-bit builds where png_uint_32 is smaller than png_size_t in
3325 was introduced in libpng-1.5.2beta01 (bug report by Andrew Church).
3338 code to use 16-bit intermediate values while still producing 8-bit output.
3344 been fixed - this failed to initialize the red channel and accidentally
3352 pngvalid.c to ensure that POSIX conformant systems disable non-POSIX APIs.
3356 dependency of the tIME-supporting RFC1132 code on stdio is removed and
3359 was introduced in libpng-1.2.20beta01. This fixes CVE-2011-2691.
3363 introduced in libpng-1.5.3beta01-02). This was because the attempt to
3365 chunk had been deflated - much too late. In this change internal
3367 the code more robust. Also deflateEnd checking is added - previously
3371 Removed the -D_ALL_SOURCE from definitions for AIX in CMakeLists.txt
3378 for Macs - it's not a good idea to embed this in the ABI!
3382 Check for up->location !PNG_AFTER_IDAT when writing unknown chunks
3386 Improved "pngvalid --speed" to exclude more of pngvalid from the time.
3387 Documented png_set_alpha_mode(), other changes in libpng.3/libpng-manual.txt
3390 sRGB/Rec 709 values are still used. This introduced a divide-by-zero
3405 back where it was. The change doesn't work because it requires 16-bit
3406 gamma tables when the code only generates 8-bit ones. This fails
3408 the tests back leaves the old, inaccurate, 8-bit gamma calculations, but
3416 treats it as an 8-bit color because of where png_do_expand_16 is in the
3417 transform list. This simple fix reduces the supplied colour to 8-bits,
3428 Frank Busse, CVE-2011-2501, related to CVE-2004-0421).
3431 Fixed png_handle_sCAL which is broken in 1.5. This fixes CVE 2011-2692.
3438 Make the 16-to-8 scaling accurate. Dividing by 256 with no rounding is
3460 to be confusing; therefore we bump the version to libpng-1.5.4beta01
3461 and there will be no libpng-1.5.3 release.
3465 to get the same (inaccurate) output as libpng-1.5.2 and earlier.
3467 outside of an unknown-chunk block in png.h because they are also
3471 Fixed and clarified LEGACY 16-to-8 scaling code.
3492 Added PNG_TRANSFORM_CHOP_16 to the high-level read transforms.
3507 The ACCURATE scale macro is no longer defined in 1.5 - call the
3535 Minor editing of libpng.3 and libpng-manual.txt.
3543 Prevent unexpected API exports from non-libpng DLLs on Windows. The "_DLL"
3568 based on cHRM, and the divide-by-zero bug in png_handle_cHRM (CERT
3569 VU#477046, CVE-2011-3328, introduced in 1.5.4) have been corrected.
3574 the 8-bit non-gamma-corrected case (where consistency seems more important
3576 8-bit case because 8-bit linear arithmetic is used.
3585 Fixed 64-bit compilation errors (gcc). The errors fixed relate
3586 to conditions where types that are 32 bits in the GCC 32-bit
3587 world (uLong and png_size_t) become 64 bits in the 64-bit
3591 Constant changes for 64-bit compatibility (removal of L suffixes). The
3592 16-bit cases still use "L" as we don't have a 16-bit test system.
3601 Fixed some 64-bit type conversion warnings in pngrtran.c
3620 Revised test-pngtest.sh to report FAIL when pngtest fails.
3621 Added "--strict" option to pngtest, to report FAIL when the failure is
3624 CMakeLists.txt that is no longer useful in libpng-1.5.
3627 Fixed typo in Makefile.in and Makefile.am ("-M Wl" should be "-M -Wl")."
3634 Align png_struct::row_buf - previously it was always unaligned, caused by
3639 percentage for 16-bit and 32-bit pixels in the typical case where the
3655 it is not byte aligned, while reading. Prior to libpng-1.5.6 libpng would
3660 Made png_ptr->prev_row an aligned pointer into png_ptr->big_prev_row
3667 Added LSR() macro to defend against buggy compilers that evaluate non-taken
3668 code branches and complain about out-of-range shifts.
3674 enables that fix for all compilers when using compile-time constants.
3683 Added support for ARM processor, when decoding all PNG up-filtered rows
3684 and any other-filtered rows with 3 or 4 bytes per pixel (Mans Rullgard).
3689 to png_size_t which would fail on large allocations on 16-bit systems.
3692 token from @-@-@ to PNG_JOIN; that should work with all compiler
3703 be non-NULL. The cast of the profile length potentially truncated the
3704 value unnecessarily on a 16-bit int system, so the cast of the (byte)
3705 compression type to (int) is specified by ANSI-C anyway.
3718 modified tables reduce the number of 16-bit values that
3719 convert to an off-by-one 8-bit value. The "makesRGB.c" code that was used
3720 to generate the tables is now in a contrib/sRGBtables sub-directory.
3724 Added run-time detection of NEON support.
3727 Multiple transform bug fixes plus a work-round for double gamma correction.
3729 at once - if this is tried typically the results is double gamma
3732 libpng transform code. This check-in also contains fixes to various bugs
3741 Added --noexecstack to assembler file compilation. GCC does not set
3744 work-around is to set it by default in the flags for $(CCAS)
3747 not initialized); this turns on const-ness only for compilers where
3751 Since the gcc driver does not recognize the --noexecstack flag, we must
3752 use the -Wa prefix to have it passed through to the assembler.
3754 Added files that were omitted from the libpng-1.5.7beta03 zip distribution.
3759 (Frank Busse). Note: This prevented CVE-2015-7981 from affecting
3760 libpng-1.5.7 and later.
3769 Rebuilt Makefile.in, configure, etc., with autoconf-2.68
3779 as in libpng-1.5.4.
3791 Removed machine-generated configure files from the GIT repository (they will
3793 earlier GIT branches).
3794 Restored the new 'simplified' API, which was started in libpng-1.5.7beta02
3795 but later deleted from libpng-1.5.7beta05.
3797 Added ANSI-C (C90) headers and require them, and take advantage of the
3800 With this change the required ANSI-C header files are assumed to exist: the
3803 (the other two required headers aren't used). Non-ANSI systems that don't
3806 Dropped support for 16-bit platforms. The use of FAR/far has been eliminated
3809 not currently work on such systems -- it seems likely that it will
3819 non-suffix rules use unique file names.
3827 Start-up code size improvements, error handler flexibility. These changes
3839 so is particularly valuable. Overall on a 64-bit system the libpng DLL
3846 Regenerated configure scripts with automake-1.11.2
3863 (all those cases where the thing being copied is a non-array C L-value).
3865 Removed the reference to the non-exported function png_memcpy() from
3867 Fixed the Visual C 64-bit build - it requires jmp_buf to be aligned, but
3875 (CVE-2011-3464, bug introduced in libpng-1.5.3beta05).
3882 Added color-map support to simplified API. This is an initial version for
3891 Updated configure.ac from autoupdate: added --enable-werror option.
3893 (replaced with 3-character indentation). Obsolete macros identified by
3895 the pre-req hasn't been changed. --enable-werror checks for support
3896 for -Werror (or the given argument) in the compiler. This mimics the
3897 gcc configure option by allowing -Werror to be turned on safely; without
3900 Rewrote autogen.sh to run autoreconf instead of running tools one-by-one.
3908 Added two images to contrib/pngsuite (1-bit and 2-bit transparent grayscale),
3915 Divide test-pngstest.sh into separate pngstest runs for basic and
3918 Added color-tests, silent-rules (Not yet implemented in Makefile.am) and
3921 the background parameter of png_image_finish_read. The --background
3936 Reverted the prebuilt configure files to libpng-1.6.0beta05 condition.
3939 Added Z_SOLO for zlib-1.2.6+ and correct pngstest tests
3946 Revised test-pngstest.sh to report PASS/FAIL for each image.
3949 extremely inaccurate for sRGB conversions because it uses an 8-bit
3954 permitted 8-bit error. This may still not be enough because of arithmetic
3958 non-linear gamma Also bugs in the error checking in pngread.c and changed
3960 written or not over-optimistic. The pngstest changes are insufficient to
3964 Removed tests for no-longer-used *_EMPTY_PLTE_SUPPORTED from pngstruct.h
3967 characters. This is not valid ANSI-C outside a function. The ';'
3972 produces warnings from gcc with some warning options (including -Wall). The
3976 found, issue a warning and increase png_ptr->num_palette accordingly.
3982 the sub-8-bit pixels.
3983 Fixed CVE-2011-3026 buffer overrun bug. This bug was introduced when
3984 iCCP chunk support was added at libpng-1.0.6. Deal more correctly with the
3986 problems on 16-bit systems.
3991 now that png_ptr->buffer is inaccessible to applications, the special
3995 defined. To enable, use "CPPFLAGS=-DPNG_SAFE_LIMITS_SUPPORTED=1" on the
4005 of png_ptr->current_text from pngread.c
4007 Fixed transparent pixel and 16-bit rgb tests in pngstest and removed a
4010 intermediate files, or intermediate in-memory data, while processing
4013 can be disabled with the --slow option.
4018 still work-in-progress.
4027 Relocated palette-index checking function from pngrutil.c to pngtrans.c
4028 Added palette-index checking while writing.
4030 This is an intermediate check-in that solves the immediate problems and
4031 introduces one performance improvement (avoiding a copy via png_ptr->zbuf.)
4035 variable. GCC 64-bit warns about assigning a (size_t) (unsigned 64-bit)
4036 to an (int) (signed 32-bit). MSVC, however, warns about using the
4037 unary '-' operator on an unsigned value (even though it is well defined
4038 by ANSI-C to be ~x+1). The padding calculation was changed to use a
4039 different method. Removed the tests on png_ptr->pass.
4044 code now claims and releases png_ptr->zstream, like the write code.
4052 (in fact this is harmless, but the PNG data produced may be sub-optimal).
4065 chunks could end up with a too-small windowBits value in the deflate
4070 In pngtest, treat benign errors as errors if "-strict" is present.
4071 Fixed an off-by-one error in the palette index checking function.
4072 Fixed a compiler warning under Cygwin (Windows-7, 32-bit system)
4075 This avoids compiler warnings when -Wwrite-strings is enabled.
4091 fails to call one of the 'start' routines (not enabled in libpng-1.5
4096 causing this to happen; this is probably a mis-feature in the zlib
4097 changes so this commit is only a work-round.
4104 benign errors; also added --strict to pngstest - not enabled
4107 This allows the --strict option to pass in the pngstest checks
4111 Added checksum-icc.c to contrib/tools
4117 CVE-2011-3048, also known as CVE-2012-3425).
4127 Added -lssp_nonshared in a comment in scripts/makefile.freebsd
4131 Removed need for -Wno-cast-align with clang. clang correctly warns on
4132 alignment increasing pointer casts when -Wcast-align is passed. This
4165 Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
4178 Re-eliminated the use of strcpy() in pngtest.c. An unnecessary use of
4179 strcpy() was accidentally re-introduced in libpng16; this change replaces
4192 Removed info_ptr->signature[8] from WRITE-only builds.
4194 but it requires "-lm" on some platforms.
4195 Cause pngtest --strict to fail on any warning from libpng (not just errors)
4200 Now "make check" will succeed even if libpng is compiled with -DPNG_NO_READ
4201 or -DPNG_NO_WRITE. The tests performed are reduced, but the basic reading
4212 control of the unknown handling, corrects the pre-existing bug where
4213 the per-chunk 'keep' setting is ignored and makes it possible to skip
4215 There is a new test program, test-unknown.c, which is a work in progress
4227 unsafe-to-copy chunks which were dropped before) and eliminates the
4257 Made makepng and pngtest produce identical PNGs, add "--relaxed" option
4258 to pngtest. The "--relaxed" option turns off the benign errors that are
4259 enabled by default in pre-RC builds. makepng can now write ICC profiles
4261 now intercepts all libpng errors, allowing the previously-introduced
4262 "--strict test" on no warnings to actually work.
4267 read by default in release (but not pre-RC) builds but will not be
4275 By the ANSI-C standard the new types should be identical to the previous
4277 except for GCC-4.2.1 work with this version. The change makes the ANSI-C
4286 Added -DZ_SOLO to contrib/pngminim/*/makefile to work with zlib-1.2.7
4295 Undid the erroneous change to vstudio/pngvalid build in libpng-1.6.0beta30.
4297 Made builds -DPNG_NO_READ_GAMMA compile (the unit tests still fail).
4303 of -DPNG_NO_READ_GAMMA is changed to simply disable any interface that
4309 Removed non-working ICC profile support code that was mostly added to
4310 libpng-1.6.0beta29 and beta30. There was too much code for too little
4325 fall-through condition.
4327 Rearranged the ARM-NEON optimizations: Isolated the machine specific code
4331 Rebuilt Makefile.in, etc., with autoconf-2.69 and automake-1.12.5.
4348 Discontinued distributing libpng-1.x.x.tar.bz2.
4349 Discontinued distributing libpng-1.7.0-1.6.0-diff.txt and similar.
4350 Rebuilt configure with autoconf-2.69 (inadvertently not done in beta33)
4351 Fixed 'make distcheck' on SUN OS - libpng.so was not being removed
4359 (CVE-2013-7353). Added overflow detection in png_set_sPLT() and
4360 png_set_text_2() (CVE-2013-7354).
4381 Fixed missing dependency in --prefix builds The intermediate
4401 be used in non-C/C++ files. Back ported from libpng 1.7.
4404 Removed cc -E workround, corrected png_get_palette_max API Tested on
4409 Enabled parallel tests - back ported from libpng-1.7.
4425 --enable-arm-neon=always will stop the run-time checks. New checks
4445 providing an alternative and general solution for the non-portable
4446 run-time tests used by the ARM Neon code, using the PNG_ARM_NEON option.
4452 Corrected simplified API default gamma for color-mapped output, added
4454 to produce color-mapped output from an input image with no gamma
4456 that assumed for non-color-mapped output. In particular 16-bit depth
4461 application/user to specify that 16-bit files contain sRGB data
4491 Fixed incorrect warning of excess deflate data. End condition - the
4501 Bug was introduced in libpng-1.6.0.
4505 written by libpng-1.6.0 and 1.6.1.
4509 Merge pngtest.c with libpng-1.7.0
4518 have been ported to libpng-1.7.0beta09 and will reappear in version
4546 Added png-fix-itxt and png-fix-too-far-back to the built programs and
4549 Detect wrong libpng versions linked to png-fix-too-far-back, which currently
4551 the deflate data contains an out-of-window reference. This means only
4562 Attempt to detect configuration issues with png-fix-too-far-back, which
4573 Improved png-fix-too-far-back usage message, added --suffix option.
4609 libpng-1.5.4.
4610 Renamed contrib/tools/png-fix-too-far-back.c to pngfix.c and revised it
4619 implemented and is the default if --max is given. Option names have
4620 been clarified, with --strip=transform now stripping the bKGD chunk,
4621 which was stripped previously with --strip=unused.
4629 Revised manual about changes in iTXt chunk handling made in libpng-1.6.0.
4631 may be erroneously issued by code-checking applications.
4662 Avoid up-cast warnings in pngvalid.c. On ARM the alignment requirements of
4679 2) Added 'subdir-objects' which causes .c files in sub-directories to be
4681 sub-directory. This is because automake 1.14 warns that the
4697 condition ? string-literal : string-literal).
4703 arm/filter_neon_intrinsics.c; enable with -mfpu=neon.
4711 causes all clang builds that use -mfpu=neon to use the intrinsics code,
4713 necessary to exclude some earlier clang versions but this seems unlikely.
4732 Added "-Wall" to CFLAGS in contrib/pngminim/*/makefile
4733 Conditionally compile some unused functions reported by -Wall in
4747 by clang scan-build.
4753 Tidied up pngfix inits and fixed pngtest no-write builds.
4756 Handle zero-length PLTE chunk or NULL palette with png_error()
4759 (png_ptr->palette) in png_do_expand_palette(). This is CVE-2013-6954
4760 and VU#650142. Libpng-1.6.1 through 1.6.7 are vulnerable.
4761 Libpng-1.6.0 and earlier do not have this bug.
4775 x86-64 DLL build (Gentoo Linux) this reduces the size of the text
4779 Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69
4785 Merged with pngvalid.c from libpng-1.7 changes to create a single
4788 Merged pngrio.c, pngtrans.c, pngwio.c, and pngerror.c with libpng-1.7.0
4789 Merged libpng-1.7.0 changes to make no-interlace configurations work
4816 Backported changes from libpng-1.7.0beta30 and beta31:
4847 to libpng-calling applications.
4850 build-time and provide sample implementations from the current code in the
4851 contrib/arm-neon subdirectory. The __linux__ code has also been changed to
4853 is in contrib/arm-neon/linux-auxv.c. The new code avoids POSIX and Linux
4862 png_set_benign_errors(), which has been the case since libpng-1.6.0beta18.
4865 Added png_ptr->process_mode = PNG_READ_IDAT_MODE in png_push_read_chunk
4867 reading a datastream whose first IDAT chunk is of zero-length.
4868 This fixes CERT VU#684412 and CVE-2014-0333.
4873 Moved some documentation from png.h to libpng.3 and libpng-manual.txt
4874 Minor editing of contrib/arm-neon/README and contrib/examples/*.c
4877 Fixed typos in the manual and in scripts/pnglibconf.dfa (CFLAGS -> CPPFLAGS
4878 and PNG_USR_CONFIG -> PNG_USER_CONFIG).
4881 Removed unreachable return statement after png_chunk_error()
4885 Un-deprecated png_data_freer().
4897 they were handled improperly by Portland Group's PGI-14.1 - PGI-14.3
4903 Allow an easy replacement of the default pre-built configuration
4908 Fixed a typo in pngrutil.c, introduced in libpng-1.5.6, that interferes
4909 with "blocky" expansion of sub-8-bit interlaced PNG files (Eric Huss).
4919 Allow PNG_sRGB_PROFILE_CHECKING = (-1) to mean no sRGB profile checking.
4922 Do not reject ICC V2 profiles that lack padding (Kai-Uwe Behrmann).
4945 test-driver, and compile from 0644 to 0755 (Cosmin).
4955 Quieted -Wsign-compare and -Wclobber compiler warnings in
4959 Split a long output string in contrib/gregbook/rpng2-x.c.
4961 Needed for write-only support (John Bowler).
4964 Fixed clang no-warning builds: png_digit was defined but never used.
4968 (bug report from Wolfgang S. Kechel). Bug was introduced in libpng-1.6.11.
4973 Removed scripts/makefile.elf. It has not worked since libpng-1.5.0beta14
4993 Guard usage of png_ptr->options with #ifdef PNG_SET_OPTION_SUPPORTED.
5000 Use nanosleep() instead of usleep() in contrib/gregbook/rpng2-x.c
5002 Define usleep() in contrib/gregbook/rpng2-x.c if not already defined
5004 in libpng-1.6.13.
5016 (bug report by Shunsaku Hirata). Bug was introduced in libpng-1.6.0.
5040 in the manual, to reflect the change made in libpng-1.6.0.
5042 and info_struct members has not been permitted since libpng-1.5.0.
5059 Removed new PNG_USE_ARM_NEON configuration flag and made a one-line
5065 Fixed an out-of-range read in png_user_version_check() (Bug report from
5066 Qixue Xiao, CVE-2015-8540).
5067 Simplified and future-proofed png_user_version_check().
5068 Fixed GCC unsigned int->float warnings. Various versions of GCC
5079 of GCC on 64-bit systems warn about the apparent narrowing, even though
5080 the same compiler does apparently generate the correct, in-range,
5103 similarly-named macros were already defined in makefiles. This behavior
5108 Added "-D_CRT_SECURE_NO_WARNINGS" to CFLAGS in scripts/makefile.vcwin32.
5128 Restored a test on width that was removed from png.c at libpng-1.6.9
5129 (Bug report by Alex Eubanks, CVE-2015-0973).
5136 (Bug report and fix by John Bowler, CVE-2014-9495).
5145 png_read_row to skip the unnecessary row de-interlace stuff.
5147 Regenerated configure scripts in the *.tar distributions with libtool-2.4.4
5149 Fixed byte order in png_do_read_filler() with 16-bit input. Previously
5152 Made the check for out-of-range values in png_set_tRNS() detect
5153 values that are exactly 2^bit_depth, and work on 16-bit platforms.
5154 Merged some parts of libpng-1.6.17beta01 and libpng-1.7.0beta47.
5161 Work around one more Coverity-scan dead-code warning.
5166 Eliminated the PNG_SAFE_LIMITS macro and restored the 1-million-column
5167 and 1-million-row default limits in pnglibconf.dfa, that can be reset
5169 defense against DOS and as-yet undiscovered overflows.
5174 Rebuilt configure scripts with automake-1.15 and libtool-2.4.6
5201 in libpng-1.6.17beta01 (John Bowler).
5206 libpng-1.6.17beta06.
5213 Fixed simplified 8-bit-linear to sRGB alpha. The calculated alpha
5215 value; in the obvious code path the upper and lower 8-bits of the
5216 alpha value were identical and the alpha was truncated to 8-bits
5228 some 32-bit platforms (Bug reports by Peter Breitenlohner [i686]
5252 Backport filter selection code from libpng-1.7.0beta51, to combine
5257 pngwutil.c, introduced in libpng-0.95, March 1997.
5267 Removed non-working progressive reader 'skip' function. This
5269 to support back-door modification of png_struct in libpng-1.4.x
5275 Fixed NO_WRITE_FILTER and -Wconversion build breaks (John Bowler).
5277 Quieted some Coverity issues in pngfix.c, png-fix-itxt.c, pngvalid.c,
5278 pngstest.c, and pngimage.c. Most seem harmless, but png-fix-itxt
5287 unsigned char in contrib/tools/png-fix-itxt.c). To use the "secure"
5293 Removed some useless typecasts from contrib/tools/png-fix-itxt.c
5294 Fixed a new signed-unsigned comparison in pngrtran.c (Max Stepin).
5304 Restored unused FILTER_HEURISTIC macros removed at libpng-1.6.18beta08
5325 Fixed uninitialized variable in contrib/gregbook/rpng2-x.c
5331 Removed unreachable "break" statements in png.c, pngread.c, and pngrtran.c
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
5339 on a 16-bit system. It also adds back various switch default clauses
5348 in ANSI-C (unlike 0x80000000 in the signed case) the checking that
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
5370 Incorporated new test PNG files into make check. tests/pngstest-*
5373 and pixel-value coverage than contrib/pngsuite; however,coverage is
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
5380 Worked around rgb-to-gray issues in libpng 1.6. The previous
5387 a minimal safe fix, the issue only arises in non-performance-critical
5395 Prevent setting or writing over-length PLTE chunk (Cosmin Truta).
5396 Silently truncate over-length PLTE chunk while reading.
5404 Fixed some inconsequential cut-and-paste typos in png_set_cHRM_XYZ_fixed().
5411 Fixed new bug with CRC error after reading an over-length palette
5412 (bug report by Cosmin Truta) (CVE-2015-8126).
5423 not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126
5424 vulnerability. Fixes CVE-2015-8472.
5427 Backported tests from libpng-1.7.0beta69.
5465 checks) and changed the check to only operate in non-release builds
5485 Worked around a false-positive Coverity issue in pngvalid.c.
5498 a quiet API change that limits in-memory image size (uncompressed) to
5500 Revised workaround for false-positive Coverity issue in pngvalid.c.
5517 Added a common-law trademark notice and export control information
5520 were accidentally removed from libpng-1.6.17.
5524 libpng-1.6.19beta02 (John Bowler).
5529 Added INTEL-SSE2 support (Mike Klein and Matt Sarett, Google, Inc.).
5542 memcpy-free implementations of load3() / store3().
5549 Moved INTEL-SSE code from pngpriv.h into contrib/intel/intel_sse.patch.
5578 (patch by Timothy Nikkel). This bug was introduced in libpng-1.6.0 and
5580 Added tests in pngvalid.c to check zero-length IDAT chunks in various
5604 write filter code was moved out-of-line; if there is a single filter and
5606 completed. In versions prior to 1.6 the code was duplicated in-line
5608 in the multi-filter case where the sum is performed the 'none' filter would
5622 components. (I.e. it checked for overflow of a 32-bit number on the total
5626 MSVC does not like '-(unsigned)', so replaced it with 0U-(unsigned)
5627 MSVC does not like (uInt) = -(unsigned) (i.e. as an initializer), unless
5635 semi-documentary; the intent is to tell libpng users which warnings have
5636 been examined and judged non-fixable at present. The warning about
5651 Avoid filter-selection heuristic sum calculations in cases where only one
5719 Merged pngtest.c with libpng-1.7.0beta84/pngtest.c
5723 Quieted 117 warnings from clang-3.8 in pngtrans.c, pngread.c,
5725 Quieted 58 (out of 144) -Wconversion compiler warnings by changing
5731 Quieted the 86 remaining -Wconversion compiler warnings by
5746 Use zlib-1.2.8.1 inflateValidate() instead of inflateReset2() to
5757 Restrict the new ADLER32-skipping to IDAT chunks. It broke iCCP chunk
5760 if built with zlib-1.2.8.1.
5765 introduced in libpng-1.6.26.
5766 Removed the use of a macro containing the pre-processor 'defined'
5770 substitution of an expression itself containing a well-formed defined
5776 and patch by Patrick Keshishian, CVE-2016-10087).
5783 Changed png_ptr->options from a png_byte to png_uint_32, to accommodate
5789 Configure libpng with "configure --enable-intel-sse" or compile
5790 libpng with "-DPNG_INTEL_SSE" in CPPFLAGS to enable it.
5801 Configure libpng with "configure --enable-intel-sse" or compile
5802 libpng with "-DPNG_INTEL_SSE" in CPPFLAGS to enable it.
5809 branches; the comments were correct.
5815 because Solaris 11 distributes zlib-1.2.8.f that is older than 1.2.8.1,
5824 makefile.linux and makefile.solaris-x86 (Cosmin).
5826 Silence clang -Wcomma and const drop warnings (Viktor Szakats).
5833 is similar to the bug reported against pngquant in CVE-2016-5735.
5845 introduced in libpng-1.6.0.
5862 was introduced in libpng-1.6.30beta01.
5868 Added "--enable-hardware-optimizations" configuration flag to enable
5876 Added scripts/makefile-linux-opt, which has hardware optimizations enabled.
5879 Removed one of the GCC-7.1.0 'strict-overflow' warnings that result when
5881 forcing the strict-overflow setting in the relevant functions to a level
5885 Worked around some C-style casts from (void*) because g++ 5.4.0 objects
5888 overflow' check that is on by default with -Wall -Wextra.
5913 Eliminated png_ptr->num_exif member from pngstruct.h and added num_exif
5919 with libpng-1.6.31.
5927 (Bug report from the OSS-fuzz project).
5930 Replaced local eXIf_buf with info_ptr-eXIf_buf in png_handle_eXIf().
5931 Update libpng.3 and libpng-manual.txt about eXIf functions.
5941 OSS-fuzz issue (Fixes CVE-2017-12652).
5950 Require cmake-2.8.8 in CMakeLists.txt. Revised symlink creation,
5952 Fixed five-byte error in the calculation of IDAT maximum possible size.
5955 Moved chunk-length check into a png_check_chunk_length() private
5958 Moved testing of bad pngs into a separate tests/pngtest-badpngs script
5959 Added the --xfail (expected FAIL) option to pngtest.c. It writes XFAIL
5961 Require cmake-3.0.2 in CMakeLists.txt (Clifford Yapp).
5968 Make pngtest --strict, --relax, --xfail options imply -m (multiple).
5970 Relocated setting free_me for eXIf data, to stop an OSS-fuzz leak.
5971 Initialize profile_header[] in png_handle_iCCP() to fix OSS-fuzz issue.
5972 Initialize png_ptr->row_buf[0] to 255 in png_read_row() to fix OSS-fuzz UMR.
5973 Attempt to fix a UMR in png_set_text_2() to fix OSS-fuzz issue.
5981 one for each known chunk type, with length = 2GB-1.
5990 Added contrib/oss-fuzz directory which contains files used by the oss-fuzz
5991 project (https://github.com/google/oss-fuzz/tree/master/projects/libpng).
5999 Fixed off-by-one error in png_do_check_palette_indexes() (Bug report
6003 Initialize png_handler.row_ptr in contrib/oss-fuzz/libpng_read_fuzzer.cc
6004 to fix shortlived oss-fuzz issue 3234.
6007 Use current date (DATE) instead of release-date (RDATE) in last
6008 changed date of contrib/oss-fuzz files.
6020 stop an oss-fuzz "use of uninitialized value" detection in png_set_text_2()
6023 stop an oss-fuzz "use of uninitialized value" detection in
6035 Revert contrib/oss-fuzz/libpng_read_fuzzer.cc to libpng-1.6.32 state.
6036 Initialize png_handler.row_ptr in contrib/oss-fuzz/libpng_read_fuzzer.cc
6050 Fixed incorrect handling of bKGD chunk in sub-8-bit files (Cosmin)
6056 Make png_get_iCCP consistent with man page (allow compression-type argument
6068 Improved performance by around 10-22% on a recent ARM Chromebook.
6070 Fixed manipulation of machine-specific optimization options.
6078 Fixed incorrect creation of pkg-config file in CMakeLists.
6086 Removed yet more of the vestigial support for pre-ANSI C compilers.
6088 across all previous libpng-1.6.x versions.
6094 Fixed a use-after-free vulnerability (CVE-2019-7317) in png_image_free.
6097 Fixed two vulnerabilities (CVE-2018-14048, CVE-2018-14550) in
6103 Added makefiles for AddressSanitizer-enabled builds.
6116 Fixed a memory leak (CVE-2019-6129) in contrib/tools/pngcp.
6124 Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
6126 https://lists.sourceforge.net/lists/listinfo/png-mng-implement