Lines Matching +full:intel +full:- +full:common +full:- +full:manual +full:- +full:rules

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)
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
258 Added UNIX manual pages libpng.3 (incorporating libpng.txt) and png.5.
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.
473 Added assembler code contributed by Intel in file pngvcrd.c and modified
474 makefile.w32 to use it (Nirav Chhatrapati, INTEL Corporation,
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
660 Added pnggccrd.c, version of pngvcrd.c Intel assembler for gcc (Greg Roelofs)
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,
824 Added makefile.intel and updated makefile.watcom (Pawel Mrochen)
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 sequence-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 Reformatted 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
2354 common "PNG_ALL_FILTERS" and PNG_FILTER_NONE cases.
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
2760 Changed rules for generation of the various symbol files and added a new
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"
3155 Added description of png_set_crc_action() to the manual.
3156 Added a note in the manual that the type of the iCCP profile was changed
3162 palette mapped images correctly. This fixes CVE-2690.
3188 or an over-large compressed zTXt chunk with the progressive reader.
3194 In the manual, describe the png_get_IHDR() arguments in the correct order.
3201 to the manual. Removed the synopses from libpngpf.3 because they
3221 (CVE-2011-0408, CERT VU#643140). The documentation did not accurately
3225 Fixed incorrect examples of callback prototypes in the manual, that were
3226 introduced in libpng-1.0.0.
3230 symbol file preprocessing now uses -DPNG_NO_USE_READ_MACROS even when
3233 Made the manual, synopses, and function prototypes use the function
3239 The type was self-evidently incorrect but only causes problems on 64-bit
3247 Added a request in the manual that applications do not use "png_" or
3255 More -Wshadow fixes for older gcc compilers. Older gcc versions apparently
3269 function prototypes in the manual. The row_info struct is png_row_infop.
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
3524 Fixed some typos and made other minor changes in the manual.
3533 the file extension, so it always compiles with C++ rules. Made minor
3535 Minor editing of libpng.3 and libpng-manual.txt.
3540 in the manual and in pngrtran.c
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
3615 Added a note in the manual the png_read_update_info() must be called only
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.
3672 Fixed compiler warnings with Intel and MSYS compilers. The logical shift
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.
3690 Fix for the preprocessor of the Intel C compiler. The preprocessor
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
3736 using g++. The compiler imposes C++ rules on the C source; thus it
3737 is desirable to make the source work with either C or C++ rules
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
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
3818 temporary files for suffix rules to always use $* and ensures that the
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
3873 Updated manual with description of the simplified API (copied from png.h)
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
3887 Eliminated Intel icc/icl compiler warnings. The Intel (GCC derived)
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.
3901 Conditionalize the install rules for MINGW and CYGWIN in CMakeLists.txt and
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
3922 option is now done automagically only when required, so that command-line
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
4000 Added information about the new limits in the manual.
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).
4057 Deflate/inflate was reworked to move common zlib calls into single
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.
4170 Removed references to png_zalloc() and png_zfree() from the manual.
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
4256 in the manual.
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
4274 Changed ICC profile matrix/vector types to not depend on array type rules.
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).
4378 Update manual about png_get_palette_max().
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
4479 Eliminated two warnings from the Intel C compiler. The warnings are
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
4535 Expanded manual paragraph about writing private chunks, particularly
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.
4634 Added information about png_set_options() to the manual.
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
4691 Cleaned up (char*) casts of zlib messages. The latest version of the Intel C
4696 version of the Intel C compiler (it objects to
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,
4732 Added "-Wall" to CFLAGS in contrib/pngminim/*/makefile
4733 Conditionally compile some unused functions reported by -Wall in
4741 Fixed pngvalid 'fail' function declaration on the Intel C Compiler.
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).
4885 Un-deprecated png_data_freer().
4893 Moved configuration information from the manual to the INSTALL file.
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).
4914 behavior of the sequential reader and consistent with the manual, by
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.
4969 Also fixed makefile.bc32, makefile.bor, makefile.msc, makefile.intel, and
4973 Removed scripts/makefile.elf. It has not worked since libpng-1.5.0beta14
4982 Eliminated use of "$<" in makefile explicit rules, when copying
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,
5086 in the manual, example.c, pngtest.c, and applications in the contrib
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
5315 manual pages (Bug report by Arc Riley).
5325 Fixed uninitialized variable in contrib/gregbook/rpng2-x.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
5588 Moved sse2 prototype from pngpriv.h to contrib/intel/intel_sse.patch.
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
5646 Added "Common linking failures" section to INSTALL.
5651 Avoid filter-selection heuristic sum calculations in cases where only one
5667 Conditionally compile SSE2 headers in contrib/intel/intel_sse.patch
5672 Updated contrib/intel/intel_sse.patch
5694 Rebased contrib/intel/intel_sse.patch after the MIPS implementation.
5700 Rebased contrib/intel/intel_sse.patch after the MIPS implementation update..
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
5739 Fixed offsets in contrib/intel/intel_sse.patch
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.
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).
5825 Revised documentation of png_get_error_ptr() in the libpng manual.
5826 Silence clang -Wcomma and const drop warnings (Viktor Szakats).
5832 example.c, and in the manual (suggested by Jaeseung Choi). This
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
5873 Changed "int" to "png_size_t" in intel/filter_sse2.c to prevent
5875 Quieted "declaration after statement" warnings in intel/filter_sse2.c.
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.
6072 Used memcpy instead of manual pointer arithmetic on Intel SSE2.
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.
6133 Added SIMD-optimized code for the LoongArch LSX hardware.
6135 Fixed the run-time discovery of MIPS MSA hardware.
6137 Fixed an off-by-one error in the function png_do_check_palette_indexes(),
6139 column of a broken palette-encoded image. This was a benign regression
6140 accidentally introduced in libpng-1.6.33. No pixel was harmed.
6166 This was an API regression, introduced in libpng-1.6.41.
6168 Fixed and updated the libpng manual.
6172 This corrected a bug that was specific to the 16-bit platforms,
6173 and removed a spurious compiler warning from the 64-bit builds.
6175 Added eXIf chunk support to the push-mode reader in pngpread.c.
6179 Added contrib/conftest/basic.dfa, a basic build-time configuration.
6181 Fixed a preprocessor condition in pngread.c that broke build-time
6187 dependency tree. This was a regression introduced in libpng-1.6.41.
6193 Updated the makefiles to allow cross-platform builds to initialize
6217 This was a regression introduced in a code cleanup in libpng-1.6.43.
6221 Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
6223 https://lists.sourceforge.net/lists/listinfo/png-mng-implement