changeset 35296 | 659e92aaf7f4 |
parent 29913 | 95258013e132 |
child 40436 | 94ae0ede53a5 |
35295:80c40839a17e | 35296:659e92aaf7f4 |
---|---|
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
22 * or visit www.oracle.com if you need additional information or have any |
22 * or visit www.oracle.com if you need additional information or have any |
23 * questions. |
23 * questions. |
24 */ |
24 */ |
25 |
25 |
26 #if 0 |
|
26 CHANGES - changes for libpng |
27 CHANGES - changes for libpng |
27 |
28 |
28 Version 0.2 |
29 version 0.1 [March 29, 1995] |
30 initial work-in-progress release |
|
31 |
|
32 version 0.2 [April 1, 1995] |
|
29 added reader into png.h |
33 added reader into png.h |
30 fixed small problems in stub file |
34 fixed small problems in stub file |
31 |
35 |
32 Version 0.3 |
36 version 0.3 [April 8, 1995] |
33 added pull reader |
37 added pull reader |
34 split up pngwrite.c to several files |
38 split up pngwrite.c to several files |
35 added pnglib.txt |
39 added pnglib.txt |
36 added example.c |
40 added example.c |
37 cleaned up writer, adding a few new transformations |
41 cleaned up writer, adding a few new transformations |
38 fixed some bugs in writer |
42 fixed some bugs in writer |
39 interfaced with zlib 0.5 |
43 interfaced with zlib 0.5 |
40 added K&R support |
44 added K&R support |
41 added check for 64 KB blocks for 16-bit machines |
45 added check for 64 KB blocks for 16 bit machines |
42 |
46 |
43 Version 0.4 |
47 version 0.4 [April 26, 1995] |
44 cleaned up code and commented code |
48 cleaned up code and commented code |
45 simplified time handling into png_time |
49 simplified time handling into png_time |
46 created png_color_16 and png_color_8 to handle color needs |
50 created png_color_16 and png_color_8 to handle color needs |
47 cleaned up color type defines |
51 cleaned up color type defines |
48 fixed various bugs |
52 fixed various bugs |
49 made various names more consistent |
53 made various names more consistent |
50 interfaced with zlib 0.71 |
54 interfaced with zlib 0.71 |
51 cleaned up zTXt reader and writer (using zlib's Reset functions) |
55 cleaned up zTXt reader and writer (using zlib's Reset functions) |
52 split transformations into pngrtran.c and pngwtran.c |
56 split transformations into pngrtran.c and pngwtran.c |
53 |
57 |
54 Version 0.5 |
58 version 0.5 [April 30, 1995] |
55 interfaced with zlib 0.8 |
59 interfaced with zlib 0.8 |
56 fixed many reading and writing bugs |
60 fixed many reading and writing bugs |
57 saved using 3 spaces instead of tabs |
61 saved using 3 spaces instead of tabs |
58 |
62 |
59 Version 0.6 |
63 version 0.6 [May 1, 1995] |
64 first beta release |
|
60 added png_large_malloc() and png_large_free() |
65 added png_large_malloc() and png_large_free() |
61 added png_size_t |
66 added png_size_t |
62 cleaned up some compiler warnings |
67 cleaned up some compiler warnings |
63 added png_start_read_image() |
68 added png_start_read_image() |
64 |
69 |
65 Version 0.7 |
70 version 0.7 [June 24, 1995] |
66 cleaned up lots of bugs |
71 cleaned up lots of bugs |
67 finished dithering and other stuff |
72 finished dithering and other stuff |
68 added test program |
73 added test program |
69 changed name from pnglib to libpng |
74 changed name from pnglib to libpng |
70 |
75 |
71 Version 0.71 [June, 1995] |
76 version 0.71 [June 26, 1995] |
72 changed pngtest.png for zlib 0.93 |
77 changed pngtest.png for zlib 0.93 |
73 fixed error in libpng.txt and example.c |
78 fixed error in libpng.txt and example.c |
74 |
79 |
75 Version 0.8 |
80 version 0.8 [August 20, 1995] |
76 cleaned up some bugs |
81 cleaned up some bugs |
77 added png_set_filler() |
82 added png_set_filler() |
78 split up pngstub.c into pngmem.c, pngio.c, and pngerror.c |
83 split up pngstub.c into pngmem.c, pngio.c, and pngerror.c |
79 added #define's to remove unwanted code |
84 added #define's to remove unwanted code |
80 moved png_info_init() to png.c |
85 moved png_info_init() to png.c |
113 fixed progressive bugs |
118 fixed progressive bugs |
114 replaced tabs with spaces |
119 replaced tabs with spaces |
115 cleaned up documentation |
120 cleaned up documentation |
116 added callbacks for read/write and warning/error functions |
121 added callbacks for read/write and warning/error functions |
117 |
122 |
118 Version 0.89 [July, 1996] |
123 Version 0.89 [June 5, 1996] |
119 Added new initialization API to make libpng work better with shared libs |
124 Added new initialization API to make libpng work better with shared libs |
120 we now have png_create_read_struct(), png_create_write_struct(), |
125 we now have png_create_read_struct(), png_create_write_struct(), |
121 png_create_info_struct(), png_destroy_read_struct(), and |
126 png_create_info_struct(), png_destroy_read_struct(), and |
122 png_destroy_write_struct() instead of the separate calls to |
127 png_destroy_write_struct() instead of the separate calls to |
123 malloc and png_read_init(), png_info_init(), and png_write_init() |
128 malloc and png_read_init(), png_info_init(), and png_write_init() |
140 Separated read and write functions so that they won't both be linked |
145 Separated read and write functions so that they won't both be linked |
141 into a binary when only reading or writing functionality is used |
146 into a binary when only reading or writing functionality is used |
142 New pngtest image also has interlacing and zTXt |
147 New pngtest image also has interlacing and zTXt |
143 Updated documentation to reflect new API |
148 Updated documentation to reflect new API |
144 |
149 |
150 Version 0.89c [June 17, 1996] |
|
151 Bug fixes. |
|
152 |
|
145 Version 0.90 [January, 1997] |
153 Version 0.90 [January, 1997] |
146 Made CRC errors/warnings on critical and ancillary chunks configurable |
154 Made CRC errors/warnings on critical and ancillary chunks configurable |
147 libpng will use the zlib CRC routines by (compile-time) default |
155 libpng will use the zlib CRC routines by (compile-time) default |
148 Changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner) |
156 Changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner) |
149 Added external C++ wrapper statements to png.h (Gilles Dauphin) |
157 Added external C++ wrapper statements to png.h (Gilles Dauphin) |
180 Removed all implicit variable tests which assume NULL == 0 (I think) |
188 Removed all implicit variable tests which assume NULL == 0 (I think) |
181 Changed several variables to "png_size_t" to show 16/32-bit limitations |
189 Changed several variables to "png_size_t" to show 16/32-bit limitations |
182 Added new pCAL chunk read/write support |
190 Added new pCAL chunk read/write support |
183 Added experimental filter selection weighting (Greg Roelofs) |
191 Added experimental filter selection weighting (Greg Roelofs) |
184 Removed old png_set_rgbx() and png_set_xrgb() functions that have been |
192 Removed old png_set_rgbx() and png_set_xrgb() functions that have been |
185 obsolete for about 2 years now (use png_set_filler() instead) |
193 obsolete for about 2 years now (use png_set_filler() instead) |
186 Added macros to read 16- and 32-bit ints directly from buffer, to be |
194 Added macros to read 16- and 32-bit ints directly from buffer, to be |
187 used only on those systems that support it (namely PowerPC and 680x0) |
195 used only on those systems that support it (namely PowerPC and 680x0) |
188 With some testing, this may become the default for MACOS/PPC systems. |
196 With some testing, this may become the default for MACOS/PPC systems. |
189 Only calculate CRC on data if we are going to use it |
197 Only calculate CRC on data if we are going to use it |
190 Added macros for zTXt compression type PNG_zTXt_COMPRESSION_??? |
198 Added macros for zTXt compression type PNG_zTXt_COMPRESSION_??? |
462 Added makefile.hux, for Hewlett Packard HPUX 10.20 and 11.00 (Jim Rice) |
470 Added makefile.hux, for Hewlett Packard HPUX 10.20 and 11.00 (Jim Rice) |
463 Added a statement of Y2K compliance in png.h, libpng.3, and Y2KINFO. |
471 Added a statement of Y2K compliance in png.h, libpng.3, and Y2KINFO. |
464 |
472 |
465 Version 1.0.3a [August 12, 1999] |
473 Version 1.0.3a [August 12, 1999] |
466 Added check for PNG_READ_INTERLACE_SUPPORTED in pngread.c; issue a warning |
474 Added check for PNG_READ_INTERLACE_SUPPORTED in pngread.c; issue a warning |
467 if an attempt is made to read an interlaced image when it's not supported. |
475 if an attempt is made to read an interlaced image when it's not supported. |
468 Added check if png_ptr->trans is defined before freeing it in pngread.c |
476 Added check if png_ptr->trans is defined before freeing it in pngread.c |
469 Modified the Y2K statement to include versions back to version 0.71 |
477 Modified the Y2K statement to include versions back to version 0.71 |
470 Fixed a bug in the check for valid IHDR bit_depth/color_types in pngrutil.c |
478 Fixed a bug in the check for valid IHDR bit_depth/color_types in pngrutil.c |
471 Modified makefile.wat (added -zp8 flag, ".symbolic", changed some comments) |
479 Modified makefile.wat (added -zp8 flag, ".symbolic", changed some comments) |
472 Replaced leading blanks with tab characters in makefile.hux |
480 Replaced leading blanks with tab characters in makefile.hux |
473 Changed "dworkin.wustl.edu" to "ccrc.wustl.edu" in various documents. |
481 Changed "dworkin.wustl.edu" to "ccrc.wustl.edu" in various documents. |
474 Changed (float)red and (float)green to (double)red, (double)green |
482 Changed (float)red and (float)green to (double)red, (double)green |
475 in png_set_rgb_to_gray() to avoid "promotion" problems in AIX. |
483 in png_set_rgb_to_gray() to avoid "promotion" problems in AIX. |
476 Fixed a bug in pngconf.h that omitted <stdio.h> when PNG_DEBUG==0 (K Bracey). |
484 Fixed a bug in pngconf.h that omitted <stdio.h> when PNG_DEBUG==0 (K Bracey). |
477 Reformatted libpng.3 and libpngpf.3 with proper fonts (script by J. vanZandt). |
485 Reformatted libpng.3 and libpngpf.3 with proper fonts (script by J. vanZandt). |
478 Updated documentation to refer to the PNG-1.2 specification. |
486 Updated documentation to refer to the PNG-1.2 specification. |
479 Removed ansi2knr.c and left pointers to the latest source for ansi2knr.c |
487 Removed ansi2knr.c and left pointers to the latest source for ansi2knr.c |
480 in makefile.knr, INSTALL, and README (L. Peter Deutsch) |
488 in makefile.knr, INSTALL, and README (L. Peter Deutsch) |
513 Version 1.0.3d [September 4, 1999] |
521 Version 1.0.3d [September 4, 1999] |
514 Fixed type casting of igamma in pngrutil.c |
522 Fixed type casting of igamma in pngrutil.c |
515 Added new png_expand functions to scripts/pngdef.pas and pngos2.def |
523 Added new png_expand functions to scripts/pngdef.pas and pngos2.def |
516 Added a demo read_user_transform_fn that examines the row filters in pngtest.c |
524 Added a demo read_user_transform_fn that examines the row filters in pngtest.c |
517 |
525 |
518 Version 1.0.4 [September 24, 1999] |
526 Version 1.0.4 [September 24, 1999, not distributed publicly] |
519 Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined |
527 Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined |
520 Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h |
528 Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h |
521 Made several minor corrections to pngtest.c |
529 Made several minor corrections to pngtest.c |
522 Renamed the makefiles with longer but more user friendly extensions. |
530 Renamed the makefiles with longer but more user friendly extensions. |
523 Copied the PNG copyright and license to a separate LICENSE file. |
531 Copied the PNG copyright and license to a separate LICENSE file. |
540 |
548 |
541 Version 1.0.4c [October 1, 1999] |
549 Version 1.0.4c [October 1, 1999] |
542 Added a "png_check_version" function in png.c and pngtest.c that will generate |
550 Added a "png_check_version" function in png.c and pngtest.c that will generate |
543 a helpful compiler error if an old png.h is found in the search path. |
551 a helpful compiler error if an old png.h is found in the search path. |
544 Changed type of png_user_transform_depth|channels from int to png_byte. |
552 Changed type of png_user_transform_depth|channels from int to png_byte. |
553 Added "Libpng is OSI Certified Open Source Software" statement to png.h |
|
545 |
554 |
546 Version 1.0.4d [October 6, 1999] |
555 Version 1.0.4d [October 6, 1999] |
547 Changed 0.45 to 0.45455 in png_set_sRGB() |
556 Changed 0.45 to 0.45455 in png_set_sRGB() |
548 Removed unused PLTE entries from pngnow.png |
557 Removed unused PLTE entries from pngnow.png |
549 Re-enabled some parts of pngvcrd.c (png_combine_row) that work properly. |
558 Re-enabled some parts of pngvcrd.c (png_combine_row) that work properly. |
926 Revised the definition of "trans_values" in libpng.3/libpng.txt |
935 Revised the definition of "trans_values" in libpng.3/libpng.txt |
927 |
936 |
928 Version 1.0.8beta1 [July 8, 2000] |
937 Version 1.0.8beta1 [July 8, 2000] |
929 Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks. |
938 Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks. |
930 Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and |
939 Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and |
931 pngwutil.c. |
940 pngwutil.c. |
932 Changed PNG_EXPORT_VAR to use PNG_IMPEXP, in pngconf.h. |
941 Changed PNG_EXPORT_VAR to use PNG_IMPEXP, in pngconf.h. |
933 Removed unused "#include <assert.h>" from png.c |
942 Removed unused "#include <assert.h>" from png.c |
934 Added WindowsCE support. |
943 Added WindowsCE support. |
935 Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment. |
944 Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment. |
936 |
945 |
937 Version 1.0.8beta2 [July 10, 2000] |
946 Version 1.0.8beta2 [July 10, 2000] |
938 Added project files to the wince directory and made further revisions |
947 Added project files to the wince directory and made further revisions |
939 of pngtest.c, pngrio.c, and pngwio.c in support of WindowsCE. |
948 of pngtest.c, pngrio.c, and pngwio.c in support of WindowsCE. |
940 |
949 |
941 Version 1.0.8beta3 [July 11, 2000] |
950 Version 1.0.8beta3 [July 11, 2000] |
942 Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS() |
951 Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS() |
943 for indexed-color input files to avoid potential double-freeing trans array |
952 for indexed-color input files to avoid potential double-freeing trans array |
944 under some unusual conditions; problem was introduced in version 1.0.6f. |
953 under some unusual conditions; problem was introduced in version 1.0.6f. |
945 Further revisions to pngtest.c and files in the wince subdirectory. |
954 Further revisions to pngtest.c and files in the wince subdirectory. |
946 |
955 |
947 Version 1.0.8beta4 [July 14, 2000] |
956 Version 1.0.8beta4 [July 14, 2000] |
948 Added the files pngbar.png and pngbar.jpg to the distribution. |
957 Added the files pngbar.png and pngbar.jpg to the distribution. |
949 Added makefile.cygwin, and cygwin support in pngconf.h |
958 Added makefile.cygwin, and cygwin support in pngconf.h |
1111 Increased png_mng_features flag from png_byte to png_uint_32. |
1120 Increased png_mng_features flag from png_byte to png_uint_32. |
1112 Bumped shared-library (so-number) and dll-number to 3. |
1121 Bumped shared-library (so-number) and dll-number to 3. |
1113 |
1122 |
1114 Version 1.2.0beta4 [June 23, 2001] |
1123 Version 1.2.0beta4 [June 23, 2001] |
1115 Check for missing profile length field in iCCP chunk and free chunk_data |
1124 Check for missing profile length field in iCCP chunk and free chunk_data |
1116 in case of truncated iCCP chunk. |
1125 in case of truncated iCCP chunk. |
1117 Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc |
1126 Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc |
1118 Bumped dll-number from 2 to 3 in makefile.cygwin |
1127 Bumped dll-number from 2 to 3 in makefile.cygwin |
1119 Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly |
1128 Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly |
1120 if user attempts to run it on an 8-bit display. |
1129 if user attempts to run it on an 8-bit display. |
1121 Updated contrib/gregbook |
1130 Updated contrib/gregbook |
1122 Use png_malloc instead of png_zalloc to allocate palette in pngset.c |
1131 Use png_malloc instead of png_zalloc to allocate palette in pngset.c |
1123 Updated makefile.ibmc |
1132 Updated makefile.ibmc |
1124 Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes |
1133 Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes |
1125 of png_write_oFFS width and height from png_uint_32 to png_int_32. |
1134 of png_write_oFFS width and height from png_uint_32 to png_int_32. |
1126 Updated example.c |
1135 Updated example.c |
1127 Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c |
1136 Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c |
1128 |
1137 |
1129 Version 1.2.0beta5 [August 8, 2001] |
1138 Version 1.2.0beta5 [August 8, 2001] |
1130 Revised contrib/gregbook |
1139 Revised contrib/gregbook |
1131 Revised makefile.gcmmx |
1140 Revised makefile.gcmmx |
1132 Revised pnggccrd.c to conditionally compile some thread-unsafe code only |
1141 Revised pnggccrd.c to conditionally compile some thread-unsafe code only |
1133 when PNG_THREAD_UNSAFE_OK is defined. |
1142 when PNG_THREAD_UNSAFE_OK is defined. |
1134 Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with |
1143 Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with |
1135 value exceeding 2^bit_depth-1 |
1144 value exceeding 2^bit_depth-1 |
1136 Revised makefile.sgi and makefile.sggcc |
1145 Revised makefile.sgi and makefile.sggcc |
1137 Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c |
1146 Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c |
1138 Removed restriction that do_invert_mono only operate on 1-bit opaque files |
1147 Removed restriction that do_invert_mono only operate on 1-bit opaque files |
1139 |
1148 |
1140 Version 1.2.0 [September 1, 2001] |
1149 Version 1.2.0 [September 1, 2001] |
1471 Added some "#if PNG_WRITE_SUPPORTED" blocks. |
1480 Added some "#if PNG_WRITE_SUPPORTED" blocks. |
1472 Added #ifdef to remove some redundancy in png_malloc_default(). |
1481 Added #ifdef to remove some redundancy in png_malloc_default(). |
1473 Use png_malloc instead of png_zalloc to allocate the pallete. |
1482 Use png_malloc instead of png_zalloc to allocate the pallete. |
1474 |
1483 |
1475 Version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004] |
1484 Version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004] |
1476 Fixed buffer overflow vulnerability in png_handle_tRNS() |
1485 Fixed buffer overflow vulnerability (CVE-2004-0597) in png_handle_tRNS(). |
1477 Fixed integer arithmetic overflow vulnerability in png_read_png(). |
1486 Fixed NULL dereference vulnerability (CVE-2004-0598) in png_handle_iCCP(). |
1487 Fixed integer overflow vulnerability (CVE-2004-0599) in png_read_png(). |
|
1478 Fixed some harmless bugs in png_handle_sBIT, etc, that would cause |
1488 Fixed some harmless bugs in png_handle_sBIT, etc, that would cause |
1479 duplicate chunk types to go undetected. |
1489 duplicate chunk types to go undetected. |
1480 Fixed some timestamps in the -config version |
1490 Fixed some timestamps in the -config version |
1481 Rearranged order of processing of color types in png_handle_tRNS(). |
1491 Rearranged order of processing of color types in png_handle_tRNS(). |
1482 Added ROWBYTES macro to calculate rowbytes without integer overflow. |
1492 Added ROWBYTES macro to calculate rowbytes without integer overflow. |
1515 Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of |
1525 Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of |
1516 "pinfo" was out of place). |
1526 "pinfo" was out of place). |
1517 |
1527 |
1518 Version 1.0.16rc5 and 1.2.6rc5 [August 10, 2004] |
1528 Version 1.0.16rc5 and 1.2.6rc5 [August 10, 2004] |
1519 Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED |
1529 Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED |
1520 section of png.h where they were inadvertently placed in version rc3. |
1530 section of png.h where they were inadvertently placed in version rc3. |
1521 |
1531 |
1522 Version 1.2.6 and 1.0.16 [August 15, 2004] |
1532 Version 1.2.6 and 1.0.16 [August 15, 2004] |
1523 Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1. |
1533 Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1. |
1524 |
1534 |
1525 Version 1.2.7beta1 [August 26, 2004] |
1535 Version 1.2.7beta1 [August 26, 2004] |
2124 Version 1.4.0beta24 [July 25, 2008] |
2134 Version 1.4.0beta24 [July 25, 2008] |
2125 Change all remaining "chunkdata" to "png_ptr->chunkdata" in |
2135 Change all remaining "chunkdata" to "png_ptr->chunkdata" in |
2126 png_decompress_chunk(), and remove "chunkdata" from parameter list. |
2136 png_decompress_chunk(), and remove "chunkdata" from parameter list. |
2127 Put a call to png_check_chunk_name() in png_read_chunk_header(). |
2137 Put a call to png_check_chunk_name() in png_read_chunk_header(). |
2128 Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte. |
2138 Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte. |
2129 Removed two calls to png_check_chunk_name() occuring later in the process. |
2139 Removed two calls to png_check_chunk_name() occurring later in the process. |
2130 Define PNG_NO_ERROR_NUMBERS by default in pngconf.h |
2140 Define PNG_NO_ERROR_NUMBERS by default in pngconf.h |
2131 |
2141 |
2132 Version 1.4.0beta25 [July 30, 2008] |
2142 Version 1.4.0beta25 [July 30, 2008] |
2133 Added a call to png_check_chunk_name() in pngpread.c |
2143 Added a call to png_check_chunk_name() in pngpread.c |
2134 Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte. |
2144 Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte. |
2347 "#if defined()" and "if !defined()" where possible. |
2357 "#if defined()" and "if !defined()" where possible. |
2348 |
2358 |
2349 Version 1.4.0beta64 [June 24, 2009] |
2359 Version 1.4.0beta64 [June 24, 2009] |
2350 Eliminated PNG_LEGACY_SUPPORTED code. |
2360 Eliminated PNG_LEGACY_SUPPORTED code. |
2351 Moved the various unknown chunk macro definitions outside of the |
2361 Moved the various unknown chunk macro definitions outside of the |
2352 PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks. |
2362 PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks. |
2353 |
2363 |
2354 Version 1.4.0beta65 [June 26, 2009] |
2364 Version 1.4.0beta65 [June 26, 2009] |
2355 Added a reference to the libpng license in each file. |
2365 Added a reference to the libpng license in each file. |
2356 |
2366 |
2357 Version 1.4.0beta66 [June 27, 2009] |
2367 Version 1.4.0beta66 [June 27, 2009] |
3769 Also removed a duplicate setting of this flag. |
3779 Also removed a duplicate setting of this flag. |
3770 Added files that were omitted from the libpng-1.5.7beta03 zip distribution. |
3780 Added files that were omitted from the libpng-1.5.7beta03 zip distribution. |
3771 |
3781 |
3772 Version 1.5.7beta05 [November 25, 2011] |
3782 Version 1.5.7beta05 [November 25, 2011] |
3773 Removed "zTXt" from warning in generic chunk decompression function. |
3783 Removed "zTXt" from warning in generic chunk decompression function. |
3774 Validate time settings passed to pngset() and png_convert_to_rfc1123() |
3784 Validate time settings passed to png_set_tIME() and png_convert_to_rfc1123() |
3775 (Frank Busse). |
3785 (Frank Busse). Note: This prevented CVE-2015-7981 from affecting |
3786 libpng-1.5.7 and later. |
|
3776 Added MINGW support to CMakeLists.txt |
3787 Added MINGW support to CMakeLists.txt |
3777 Reject invalid compression flag or method when reading the iTXt chunk. |
3788 Reject invalid compression flag or method when reading the iTXt chunk. |
3778 Backed out 'simplified' API changes. The API seems too complex and there |
3789 Backed out 'simplified' API changes. The API seems too complex and there |
3779 is a lack of consensus or enthusiasm for the proposals. The API also |
3790 is a lack of consensus or enthusiasm for the proposals. The API also |
3780 reveals significant bugs inside libpng (double gamma correction and the |
3791 reveals significant bugs inside libpng (double gamma correction and the |
3816 implementation must provide float.h, limits.h, stdarg.h and stddef.h and |
3827 implementation must provide float.h, limits.h, stdarg.h and stddef.h and |
3817 libpng relies on limits.h and stddef.h existing and behaving as defined |
3828 libpng relies on limits.h and stddef.h existing and behaving as defined |
3818 (the other two required headers aren't used). Non-ANSI systems that don't |
3829 (the other two required headers aren't used). Non-ANSI systems that don't |
3819 have stddef.h or limits.h will have to provide an appropriate fake |
3830 have stddef.h or limits.h will have to provide an appropriate fake |
3820 containing the relevant types and #defines. |
3831 containing the relevant types and #defines. |
3821 The use of FAR/far has been eliminated and the definition of png_alloc_size_t |
3832 Dropped support for 16-bit platforms. The use of FAR/far has been eliminated |
3822 is now controlled by a flag so that 'small size_t' systems can select it |
3833 and the definition of png_alloc_size_t is now controlled by a flag so |
3823 if necessary. Libpng 1.6 may not currently work on such systems -- it |
3834 that 'small size_t' systems can select it if necessary. Libpng 1.6 may |
3824 seems likely that it will ask 'malloc' for more than 65535 bytes with any |
3835 not currently work on such systems -- it seems likely that it will |
3825 image that has a sufficiently large row size (rather than simply failing |
3836 ask 'malloc' for more than 65535 bytes with any image that has a |
3826 to read such images). |
3837 sufficiently large row size (rather than simply failing to read such |
3838 images). |
|
3827 New tools directory containing tools used to generate libpng code. |
3839 New tools directory containing tools used to generate libpng code. |
3828 Fixed race conditions in parallel make builds. With higher degrees of |
3840 Fixed race conditions in parallel make builds. With higher degrees of |
3829 parallelism during 'make' the use of the same temporary file names such |
3841 parallelism during 'make' the use of the same temporary file names such |
3830 as 'dfn*' can result in a race where a temporary file from one arm of the |
3842 as 'dfn*' can result in a race where a temporary file from one arm of the |
3831 build is deleted or overwritten in another arm. This changes the |
3843 build is deleted or overwritten in another arm. This changes the |
4433 Folded long lines. |
4445 Folded long lines. |
4434 Reenabled code to allow zero length PLTE chunks for MNG. |
4446 Reenabled code to allow zero length PLTE chunks for MNG. |
4435 |
4447 |
4436 Version 1.6.1beta03 [February 22, 2013] |
4448 Version 1.6.1beta03 [February 22, 2013] |
4437 Fixed ALIGNED_MEMORY support. |
4449 Fixed ALIGNED_MEMORY support. |
4438 Allow run-time ARM NEON checking to be disabled. A new configure option: |
4450 Added a new configure option: |
4439 --enable-arm-neon=always will stop the run-time checks. New checks |
4451 --enable-arm-neon=always will stop the run-time checks. New checks |
4440 within arm/arm_init.c will cause the code not to be compiled unless |
4452 within arm/arm_init.c will cause the code not to be compiled unless |
4441 __ARM_NEON__ is set. This should make it fail safe (if someone asks |
4453 __ARM_NEON__ is set. This should make it fail safe (if someone asks |
4442 for it on then the build will fail if it can't be done.) |
4454 for it on then the build will fail if it can't be done.) |
4443 Updated the INSTALL document. |
4455 Updated the INSTALL document. |
4452 Avoid a possible memory leak in contrib/gregbook/readpng.c |
4464 Avoid a possible memory leak in contrib/gregbook/readpng.c |
4453 |
4465 |
4454 Version 1.6.1beta06 [March 4, 2013] |
4466 Version 1.6.1beta06 [March 4, 2013] |
4455 Better documentation of unknown handling API interactions. |
4467 Better documentation of unknown handling API interactions. |
4456 Corrected Android builds and corrected libpng.vers with symbol |
4468 Corrected Android builds and corrected libpng.vers with symbol |
4457 prefixing. This adds an API to set optimization options externally, |
4469 prefixing. It also makes those tests compile and link on Android. |
4470 Added an API png_set_option() to set optimization options externally, |
|
4458 providing an alternative and general solution for the non-portable |
4471 providing an alternative and general solution for the non-portable |
4459 run-time tests used by the ARM Neon code. It also makes those tests |
4472 run-time tests used by the ARM Neon code, using the PNG_ARM_NEON option. |
4460 compile and link on Android. |
|
4461 The order of settings vs options in pnglibconf.h is reversed to allow |
4473 The order of settings vs options in pnglibconf.h is reversed to allow |
4462 settings to depend on options and options can now set (or override) the |
4474 settings to depend on options and options can now set (or override) the |
4463 defaults for settings. |
4475 defaults for settings. |
4464 |
4476 |
4465 Version 1.6.1beta07 [March 7, 2013] |
4477 Version 1.6.1beta07 [March 7, 2013] |
4547 |
4559 |
4548 Version 1.6.3beta03 [April 30, 2013] |
4560 Version 1.6.3beta03 [April 30, 2013] |
4549 Expanded manual paragraph about writing private chunks, particularly |
4561 Expanded manual paragraph about writing private chunks, particularly |
4550 the need to call png_set_keep_unknown_chunks() when writing them. |
4562 the need to call png_set_keep_unknown_chunks() when writing them. |
4551 Avoid dereferencing NULL pointer possibly returned from |
4563 Avoid dereferencing NULL pointer possibly returned from |
4552 png_create_write_struct() (Andrew Church). |
4564 png_create_write_struct() (Andrew Church). |
4553 |
4565 |
4554 Version 1.6.3beta05 [May 9, 2013] |
4566 Version 1.6.3beta05 [May 9, 2013] |
4555 Calculate our own zlib windowBits when decoding rather than trusting the |
4567 Calculate our own zlib windowBits when decoding rather than trusting the |
4556 CMF bytes in the PNG datastream. |
4568 CMF bytes in the PNG datastream. |
4557 Added an option to force maximum window size for inflating, which was |
4569 Added an option to force maximum window size for inflating, which was |
4558 the behavior of libpng15 and earlier. |
4570 the behavior of libpng15 and earlier, via a new PNG_MAXIMUM_INFLATE_WINDOW |
4571 option for png_set_options(). |
|
4559 Added png-fix-itxt and png-fix-too-far-back to the built programs and |
4572 Added png-fix-itxt and png-fix-too-far-back to the built programs and |
4560 removed warnings from the source code and timepng that are revealed as |
4573 removed warnings from the source code and timepng that are revealed as |
4561 a result. |
4574 a result. |
4562 Detect wrong libpng versions linked to png-fix-too-far-back, which currently |
4575 Detect wrong libpng versions linked to png-fix-too-far-back, which currently |
4563 only works with libpng versions that can be made to reliably fail when |
4576 only works with libpng versions that can be made to reliably fail when |
5136 Version 1.6.16beta03 [December 21, 2014] |
5149 Version 1.6.16beta03 [December 21, 2014] |
5137 Quiet a "comparison always true" warning in pngstest.c (John Bowler). |
5150 Quiet a "comparison always true" warning in pngstest.c (John Bowler). |
5138 |
5151 |
5139 Version 1.6.16rc01 [December 21, 2014] |
5152 Version 1.6.16rc01 [December 21, 2014] |
5140 Restored a test on width that was removed from png.c at libpng-1.6.9 |
5153 Restored a test on width that was removed from png.c at libpng-1.6.9 |
5141 (Bug report by Alex Eubanks). |
5154 (Bug report by Alex Eubanks, CVE-2015-0973). |
5142 |
5155 |
5143 Version 1.6.16rc02 [December 21, 2014] |
5156 Version 1.6.16rc02 [December 21, 2014] |
5144 Undid the update to pngrutil.c in 1.6.16rc01. |
5157 Undid the update to pngrutil.c in 1.6.16rc01. |
5145 |
5158 |
5146 Version 1.6.16rc03 [December 21, 2014] |
5159 Version 1.6.16rc03 [December 21, 2014] |
5147 Fixed an overflow in png_combine_row with very wide interlaced images. |
5160 Fixed an overflow in png_combine_row() with very wide interlaced images |
5161 (Bug report and fix by John Bowler, CVE-2014-9495). |
|
5148 |
5162 |
5149 Version 1.6.16 [December 22, 2014] |
5163 Version 1.6.16 [December 22, 2014] |
5164 No changes. |
|
5165 |
|
5166 Version 1.6.17beta01 [January 29, 2015] |
|
5167 Removed duplicate PNG_SAFE_LIMITS_SUPPORTED handling from pngconf.h |
|
5168 Corrected the width limit calculation in png_check_IHDR(). |
|
5169 Removed user limits from pngfix. Also pass NULL pointers to |
|
5170 png_read_row to skip the unnecessary row de-interlace stuff. |
|
5171 Added testing of png_set_packing() to pngvalid.c |
|
5172 Regenerated configure scripts in the *.tar distributions with libtool-2.4.4 |
|
5173 Implement previously untested cases of libpng transforms in pngvalid.c |
|
5174 Fixed byte order in png_do_read_filler() with 16-bit input. Previously |
|
5175 the high and low bytes of the filler, from png_set_filler() or from |
|
5176 png_set_add_alpha(), were read in the wrong order. |
|
5177 Made the check for out-of-range values in png_set_tRNS() detect |
|
5178 values that are exactly 2^bit_depth, and work on 16-bit platforms. |
|
5179 Merged some parts of libpng-1.6.17beta01 and libpng-1.7.0beta47. |
|
5180 Added #ifndef __COVERITY__ where needed in png.c, pngrutil.c and |
|
5181 pngset.c to avoid warnings about dead code. |
|
5182 Added "& 0xff" to many instances of expressions that are typecast |
|
5183 to (png_byte), to avoid Coverity warnings. |
|
5184 |
|
5185 Version 1.6.17beta02 [February 7, 2015] |
|
5186 Work around one more Coverity-scan dead-code warning. |
|
5187 Do not build png_product2() when it is unused. |
|
5188 |
|
5189 Version 1.6.17beta03 [February 17, 2015] |
|
5190 Display user limits in the output from pngtest. |
|
5191 Eliminated the PNG_SAFE_LIMITS macro and restored the 1-million-column |
|
5192 and 1-million-row default limits in pnglibconf.dfa, that can be reset |
|
5193 by the user at build time or run time. This provides a more robust |
|
5194 defense against DOS and as-yet undiscovered overflows. |
|
5195 |
|
5196 Version 1.6.17beta04 [February 21, 2015] |
|
5197 Added PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED macro, on by default. |
|
5198 Allow user to call png_get_IHDR() with NULL arguments (Reuben Hawkins). |
|
5199 Rebuilt configure scripts with automake-1.15 and libtool-2.4.6 |
|
5200 |
|
5201 Version 1.6.17beta05 [February 25, 2015] |
|
5202 Restored compiling of png_reciprocal2 with PNG_NO_16BIT. |
|
5203 |
|
5204 Version 1.6.17beta06 [February 27, 2015] |
|
5205 Moved png_set_filter() prototype into a PNG_WRITE_SUPPORTED block |
|
5206 of png.h. |
|
5207 Avoid runtime checks when converting integer to png_byte with |
|
5208 Visual Studio (Sergey Kosarevsky) |
|
5209 |
|
5210 Version 1.6.17rc01 [March 4, 2015] |
|
5211 No changes. |
|
5212 |
|
5213 Version 1.6.17rc02 [March 9, 2015] |
|
5214 Removed some comments that the configure script did not handle |
|
5215 properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt. |
|
5216 Free the unknown_chunks structure even when it contains no data. |
|
5217 |
|
5218 Version 1.6.17rc03 [March 12, 2015] |
|
5219 Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF |
|
5220 for consistency, and remove some useless tests (Alexey Petruchik). |
|
5221 |
|
5222 Version 1.6.17rc04 [March 16, 2015] |
|
5223 Remove pnglibconf.h, pnglibconf.c, and pnglibconf.out instead of |
|
5224 pnglibconf.* in "make clean" (Cosmin). |
|
5225 Fix bug in calculation of maxbits, in png_write_sBIT, introduced |
|
5226 in libpng-1.6.17beta01 (John Bowler). |
|
5227 |
|
5228 Version 1.6.17rc05 [March 21, 2015] |
|
5229 Define PNG_FILTER_* and PNG_FILTER_VALUE_* in png.h even when WRITE |
|
5230 is not supported (John Bowler). This fixes an error introduced in |
|
5231 libpng-1.6.17beta06. |
|
5232 Reverted "& 0xff" additions of version 1.6.17beta01. Libpng passes |
|
5233 the Coverity scan without them. |
|
5234 |
|
5235 Version 1.6.17rc06 [March 23, 2015] |
|
5236 Remove pnglibconf.dfn and pnglibconf.pre with "make clean". |
|
5237 Reformatted some "&0xff" instances to "& 0xff". |
|
5238 Fixed simplified 8-bit-linear to sRGB alpha. The calculated alpha |
|
5239 value was wrong. It's not clear if this affected the final stored |
|
5240 value; in the obvious code path the upper and lower 8-bits of the |
|
5241 alpha value were identical and the alpha was truncated to 8-bits |
|
5242 rather than dividing by 257 (John Bowler). |
|
5243 |
|
5244 Version 1.6.17 [March 26, 2015] |
|
5245 No changes. |
|
5246 |
|
5247 Version 1.6.18beta01 [April 1, 2015] |
|
5248 Removed PNG_SET_CHUNK_[CACHE|MALLOC]_LIMIT_SUPPORTED macros. They |
|
5249 have been combined with PNG_SET_USER_LIMITS_SUPPORTED (resolves |
|
5250 bug report by Andrew Church). |
|
5251 Fixed rgb_to_gray checks and added tRNS checks to pngvalid.c. This |
|
5252 fixes some arithmetic errors that caused some tests to fail on |
|
5253 some 32-bit platforms (Bug reports by Peter Breitenlohner [i686] |
|
5254 and Petr Gajdos [i586]). |
|
5255 |
|
5256 Version 1.6.18beta02 [April 26, 2015] |
|
5257 Suppressed some warnings from the Borland C++ 5.5.1/5.82 compiler |
|
5258 (Bug report by Viktor Szakats). |
|
5259 |
|
5260 Version 1.6.18beta03 [May 6, 2015] |
|
5261 Replaced "unexpected" with an integer (0xabadca11) in pngset.c |
|
5262 where a long was expected, to avoid a compiler warning when PNG_DEBUG > 1. |
|
5263 Added contrib/examples/simpleover.c, to demonstrate how to handle |
|
5264 alpha compositing of multiple images, using the "simplified API" |
|
5265 and an example PNG generation tool, contrib/examples/genpng.c |
|
5266 (John Bowler). |
|
5267 |
|
5268 Version 1.6.18beta04 [May 20, 2015] |
|
5269 PNG_RELEASE_BUILD replaces tests where the code depended on the build base |
|
5270 type and can be defined on the command line, allowing testing in beta |
|
5271 builds (John Bowler). |
|
5272 Avoid Coverity issue 80858 (REVERSE NULL) in pngtest.c PNG_DEBUG builds. |
|
5273 Avoid a harmless potential integer overflow in png_XYZ_from_xy() (Bug |
|
5274 report from Christopher Ferris). |
|
5275 |
|
5276 Version 1.6.18beta05 [May 31, 2015] |
|
5277 Backport filter selection code from libpng-1.7.0beta51, to combine |
|
5278 sub_row, up_row, avg_row, and paeth_row into try_row and tst_row. |
|
5279 Changed png_voidcast(), etc., to voidcast(), etc., in contrib/tools/pngfix.c |
|
5280 to avoid confusion with the libpng private macros. |
|
5281 Fixed old cut&paste bug in the weighted filter selection code in |
|
5282 pngwutil.c, introduced in libpng-0.95, March 1997. |
|
5283 |
|
5284 Version 1.6.18beta06 [June 1, 2015] |
|
5285 Removed WRITE_WEIGHTED_FILTERED code, to save a few kbytes of the |
|
5286 compiled library size. It never worked properly and as far as we can |
|
5287 tell, no one uses it. The png_set_filter_heuristics() and |
|
5288 png_set_filter_heuristics_fixed() APIs are retained but deprecated |
|
5289 and do nothing. |
|
5290 |
|
5291 Version 1.6.18beta07 [June 6, 2015] |
|
5292 Removed non-working progressive reader 'skip' function. This |
|
5293 function has apparently never been used. It was implemented |
|
5294 to support back-door modification of png_struct in libpng-1.4.x |
|
5295 but (because it does nothing and cannot do anything) was apparently |
|
5296 never tested (John Bowler). |
|
5297 Fixed cexcept.h in which GCC 5 now reports that one of the auto |
|
5298 variables in the Try macro needs to be volatile to prevent value |
|
5299 being lost over the setjmp (John Bowler). |
|
5300 Fixed NO_WRITE_FILTER and -Wconversion build breaks (John Bowler). |
|
5301 Fix g++ build breaks (John Bowler). |
|
5302 Quieted some Coverity issues in pngfix.c, png-fix-itxt.c, pngvalid.c, |
|
5303 pngstest.c, and pngimage.c. Most seem harmless, but png-fix-itxt |
|
5304 would only work with iTXt chunks with length 255 or less. |
|
5305 Added #ifdef's to contrib/examples programs so people don't try |
|
5306 to compile them without the minimum required support enabled |
|
5307 (suggested by Flavio Medeiros). |
|
5308 |
|
5309 Version 1.6.18beta08 [June 30, 2015] |
|
5310 Eliminated the final two Coverity defects (insecure temporary file |
|
5311 handling in contrib/libtests/pngstest.c; possible overflow of |
|
5312 unsigned char in contrib/tools/png-fix-itxt.c). To use the "secure" |
|
5313 file handling, define PNG_USE_MKSTEMP, otherwise "tmpfile()" will |
|
5314 be used. |
|
5315 Removed some unused WEIGHTED_FILTER macros from png.h and pngstruct.h |
|
5316 |
|
5317 Version 1.6.18beta09 [July 5, 2015] |
|
5318 Removed some useless typecasts from contrib/tools/png-fix-itxt.c |
|
5319 Fixed a new signed-unsigned comparison in pngrtran.c (Max Stepin). |
|
5320 Replaced arbitrary use of 'extern' with #define PNG_LINKAGE_*. To |
|
5321 preserve API compatibility, the new defines all default to "extern" |
|
5322 (requested by Jan Nijtmans). |
|
5323 |
|
5324 Version 1.6.18rc01 [July 9, 2015] |
|
5325 Belatedly added Mans Rullgard and James Yu to the list of Contributing |
|
5326 Authors. |
|
5327 |
|
5328 Version 1.6.18rc02 [July 12, 2015] |
|
5329 Restored unused FILTER_HEURISTIC macros removed at libpng-1.6.18beta08 |
|
5330 to png.h to avoid compatibility warnings. |
|
5331 |
|
5332 Version 1.6.18rc03 [July 15, 2015] |
|
5333 Minor changes to the man page |
|
5334 |
|
5335 Version 1.6.18 [July 23, 2015] |
|
5336 No changes. |
|
5337 |
|
5338 Version 1.6.19beta01 [July 30, 2015] |
|
5339 Updated obsolete information about the simplified API macros in the |
|
5340 manual pages (Bug report by Arc Riley). |
|
5341 Avoid potentially dereferencing NULL info_ptr in png_info_init_3(). |
|
5342 Rearranged png.h to put the major sections in the same order as |
|
5343 in libpng17. |
|
5344 Eliminated unused PNG_COST_SHIFT, PNG_WEIGHT_SHIFT, PNG_COST_FACTOR, and |
|
5345 PNG_WEIGHT_FACTOR macros. |
|
5346 Suppressed some warnings from the Borland C++ 5.5.1/5.82 compiler |
|
5347 (Bug report by Viktor Szakats). Several warnings remain and are |
|
5348 unavoidable, where we test for overflow. |
|
5349 Fixed potential leak of png_pixels in contrib/pngminus/pnm2png.c |
|
5350 Fixed uninitialized variable in contrib/gregbook/rpng2-x.c |
|
5351 |
|
5352 Version 1.6.19beta02 [August 19, 2015] |
|
5353 Moved config.h.in~ from the "libpng_autotools_files" list to the |
|
5354 "libpng_autotools_extra" list in autogen.sh because it was causing a |
|
5355 false positive for missing files (bug report by Robert C. Seacord). |
|
5356 Removed unreachable "break" statements in png.c, pngread.c, and pngrtran.c |
|
5357 to suppress clang warnings (Bug report by Viktor Szakats). |
|
5358 Fixed some bad links in the man page. |
|
5359 Changed "n bit" to "n-bit" in comments. |
|
5360 Added signed/unsigned 16-bit safety net. This removes the dubious |
|
5361 0x8000 flag definitions on 16-bit systems. They aren't supported |
|
5362 yet the defs *probably* work, however it seems much safer to do this |
|
5363 and be advised if anyone, contrary to advice, is building libpng 1.6 |
|
5364 on a 16-bit system. It also adds back various switch default clauses |
|
5365 for GCC; GCC errors out if they are not present (with an appropriately |
|
5366 high level of warnings). |
|
5367 Safely convert num_bytes to a png_byte in png_set_sig_bytes() (Robert |
|
5368 Seacord). |
|
5369 Fixed the recently reported 1's complement security issue by replacing |
|
5370 the value that is illegal in the PNG spec, in both signed and unsigned |
|
5371 values, with 0. Illegal unsigned values (anything greater than or equal |
|
5372 to 0x80000000) can still pass through, but since these are not illegal |
|
5373 in ANSI-C (unlike 0x80000000 in the signed case) the checking that |
|
5374 occurs later can catch them (John Bowler). |
|
5375 |
|
5376 Version 1.6.19beta03 [September 26, 2015] |
|
5377 Fixed png_save_int_32 when int is not 2's complement (John Bowler). |
|
5378 Updated libpng16 with all the recent test changes from libpng17, |
|
5379 including changes to pngvalid.c to ensure that the original, |
|
5380 distributed, version of contrib/visupng/cexcept.h can be used |
|
5381 (John Bowler). |
|
5382 pngvalid contains the correction to the use of SAVE/STORE_ |
|
5383 UNKNOWN_CHUNKS; a bug revealed by changes in libpng 1.7. More |
|
5384 tests contain the --strict option to detect warnings and the |
|
5385 pngvalid-standard test has been corrected so that it does not |
|
5386 turn on progressive-read. There is a separate test which does |
|
5387 that. (John Bowler) |
|
5388 Also made some signed/unsigned fixes. |
|
5389 Make pngstest error limits version specific. Splitting the machine |
|
5390 generated error structs out to a file allows the values to be updated |
|
5391 without changing pngstest.c itself. Since libpng 1.6 and 1.7 have |
|
5392 slightly different error limits this simplifies maintenance. The |
|
5393 makepngs.sh script has also been updated to more accurately reflect |
|
5394 current problems in libpng 1.7 (John Bowler). |
|
5395 Incorporated new test PNG files into make check. tests/pngstest-* |
|
5396 are changed so that the new test files are divided into 8 groups by |
|
5397 gamma and alpha channel. These tests have considerably better code |
|
5398 and pixel-value coverage than contrib/pngsuite; however,coverage is |
|
5399 still incomplete (John Bowler). |
|
5400 Removed the '--strict' in 1.6 because of the double-gamma-correction |
|
5401 warning, updated pngstest-errors.h for the errors detected with the |
|
5402 new contrib/testspngs PNG test files (John Bowler). |
|
5403 |
|
5404 Version 1.6.19beta04 [October 15, 2015] |
|
5405 Worked around rgb-to-gray issues in libpng 1.6. The previous |
|
5406 attempts to ignore the errors in the code aren't quite enough to |
|
5407 deal with the 'channel selection' encoding added to libpng 1.7; abort. |
|
5408 pngvalid.c is changed to drop this encoding in prior versions. |
|
5409 Fixed 'pow' macros in pngvalid.c. It is legal for 'pow' to be a |
|
5410 macro, therefore the argument list cannot contain preprocessing |
|
5411 directives. Make sure pow is a function where this happens. This is |
|
5412 a minimal safe fix, the issue only arises in non-performance-critical |
|
5413 code (bug report by Curtis Leach, fix by John Bowler). |
|
5414 Added sPLT support to pngtest.c |
|
5415 |
|
5416 Version 1.6.19rc01 [October 23, 2015] |
|
5417 No changes. |
|
5418 |
|
5419 Version 1.6.19rc02 [October 31, 2015] |
|
5420 Prevent setting or writing over-length PLTE chunk (Cosmin Truta). |
|
5421 Silently truncate over-length PLTE chunk while reading. |
|
5422 Libpng incorrectly calculated the output rowbytes when the application |
|
5423 decreased either the number of channels or the bit depth (or both) in |
|
5424 a user transform. This was safe; libpng overallocated buffer space |
|
5425 (potentially by quite a lot; up to 4 times the amount required) but, |
|
5426 from 1.5.4 on, resulted in a png_error (John Bowler). |
|
5427 |
|
5428 Version 1.6.19rc03 [November 3, 2015] |
|
5429 Fixed some inconsequential cut-and-paste typos in png_set_cHRM_XYZ_fixed(). |
|
5430 Clarified COPYRIGHT information to state explicitly that versions |
|
5431 are derived from previous versions. |
|
5432 Removed much of the long list of previous versions from png.h and |
|
5433 libpng.3. |
|
5434 |
|
5435 Version 1.6.19rc04 [November 5, 2015] |
|
5436 Fixed new bug with CRC error after reading an over-length palette |
|
5437 (bug report by Cosmin Truta) (CVE-2015-8126). |
|
5438 |
|
5439 Version 1.6.19 [November 12, 2015] |
|
5440 Cleaned up coding style in png_handle_PLTE(). |
|
5441 |
|
5442 Version 1.6.20beta01 [November 20, 2015] |
|
5443 Avoid potential pointer overflow/underflow in png_handle_sPLT() and |
|
5444 png_handle_pCAL() (Bug report by John Regehr). |
|
5445 |
|
5446 Version 1.6.20beta02 [November 23, 2015] |
|
5447 Fixed incorrect implementation of png_set_PLTE() that uses png_ptr |
|
5448 not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126 |
|
5449 vulnerability. |
|
5450 |
|
5451 Version 1.6.20beta03 [November 24, 2015] |
|
5452 Backported tests from libpng-1.7.0beta69. |
|
5453 |
|
5454 Version 1.6.20rc01 [November 26, 2015] |
|
5455 Fixed an error in handling of bad zlib CMINFO field in pngfix, found by |
|
5456 American Fuzzy Lop, reported by Brian Carpenter. inflate() doesn't |
|
5457 immediately fault a bad CMINFO field; instead a 'too far back' error |
|
5458 happens later (at least some times). pngfix failed to limit CMINFO to |
|
5459 the allowed values but then assumed that window_bits was in range, |
|
5460 triggering an assert. The bug is mostly harmless; the PNG file cannot |
|
5461 be fixed. |
|
5462 |
|
5463 Version 1.6.20rc02 [November 29, 2015] |
|
5464 In libpng 1.6 zlib initialization was changed to use the window size |
|
5465 in the zlib stream, not a fixed value. This causes some invalid images, |
|
5466 where CINFO is too large, to display 'correctly' if the rest of the |
|
5467 data is valid. This provides a workaround for zlib versions where the |
|
5468 error arises (ones that support the API change to use the window size |
|
5469 in the stream). |
|
5470 |
|
5471 Version 1.6.20 [December 3, 2015] |
|
5150 No changes. |
5472 No changes. |
5151 |
5473 |
5152 Send comments/corrections/commendations to png-mng-implement at lists.sf.net |
5474 Send comments/corrections/commendations to png-mng-implement at lists.sf.net |
5153 (subscription required; visit |
5475 (subscription required; visit |
5154 https://lists.sourceforge.net/lists/listinfo/png-mng-implement |
5476 https://lists.sourceforge.net/lists/listinfo/png-mng-implement |
5155 to subscribe) |
5477 to subscribe) |
5156 or to glennrp at users.sourceforge.net |
5478 or to glennrp at users.sourceforge.net |
5157 |
5479 |
5158 Glenn R-P |
5480 Glenn R-P |
5481 #endif |