From 67f101e6c9e7f69d4240ba97ca580fd8d7fb0597 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 14 Dec 2013 12:36:28 -0600 Subject: [PATCH] [libpng16] Imported from libpng-1.6.8rc02.tar --- ANNOUNCE | 22 ++++++++++++++-------- CHANGES | 6 ++++++ CMakeLists.txt | 2 +- LICENSE | 4 ++-- README | 2 +- configure.ac | 4 ++-- libpng-manual.txt | 8 ++++---- libpng.3 | 18 +++++++++--------- libpngpf.3 | 4 ++-- png.5 | 2 +- png.c | 6 +++--- png.h | 18 +++++++++--------- pngconf.h | 2 +- pngrtran.c | 5 ++++- pngset.c | 5 ++--- pngtest.c | 2 +- projects/vstudio/readme.txt | 2 +- projects/vstudio/zlib.props | 2 +- scripts/README.txt | 12 ++++++------ scripts/def.dfn | 2 +- scripts/libpng-config-head.in | 2 +- scripts/libpng.pc.in | 2 +- scripts/makefile.ne12bsd | 2 +- scripts/makefile.netbsd | 2 +- scripts/makefile.openbsd | 2 +- scripts/pnglibconf.h.prebuilt | 4 ++-- scripts/symbols.def | 2 +- 27 files changed, 79 insertions(+), 65 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 847dead67..8adcf9d0b 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.6.8rc01 - December 12, 2013 +Libpng 1.6.8rc02 - December 14, 2013 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -9,24 +9,24 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - 1.6.8rc01.tar.xz (LZMA-compressed, recommended) - 1.6.8rc01.tar.gz + 1.6.8rc02.tar.xz (LZMA-compressed, recommended) + 1.6.8rc02.tar.gz Source files with CRLF line endings (for Windows), without the "configure" script - lp168r01.7z (LZMA-compressed, recommended) - lp168r01.zip + lp168r02.7z (LZMA-compressed, recommended) + lp168r02.zip Other information: - 1.6.8rc01-README.txt - 1.6.8rc01-LICENSE.txt + 1.6.8rc02-README.txt + 1.6.8rc02-LICENSE.txt Gnupg/*.asc (PGP armored detached signatures) Changes since the last public release (1.6.7): -Version 1.6.8beta01 [December 12, 2013] +Version 1.6.8beta01 [November 24, 2013] Changed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpread.c to #ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED to be consistent with what is in pngpriv.h. @@ -54,6 +54,12 @@ Version 1.6.8beta02 [November 30, 2013] Version 1.6.8rc01 [December 12, 2013] Tidied up pngfix inits and fixed pngtest no-write builds. +Version 1.6.8rc02 [December 14, 2013] + Handle zero-length PLTE chunk or NULL palette with png_error() + instead of png_chunk_report(), which by default issues a warning + rather than an error, leading to later reading from a NULL pointer + (png_ptr->palette) in png_do_expand_palette(). + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/CHANGES b/CHANGES index 19e4cb194..6a3be10aa 100644 --- a/CHANGES +++ b/CHANGES @@ -4740,6 +4740,12 @@ Version 1.6.8beta02 [November 30, 2013] Version 1.6.8rc01 [December 12, 2013] Tidied up pngfix inits and fixed pngtest no-write builds. +Version 1.6.8rc02 [December 14, 2013] + Handle zero-length PLTE chunk or NULL palette with png_error() + instead of png_chunk_report(), which by default issues a warning + rather than an error, leading to later reading from a NULL pointer + (png_ptr->palette) in png_do_expand_palette(). + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/CMakeLists.txt b/CMakeLists.txt index 6039a042c..a77f4bb4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -252,7 +252,7 @@ endif(NOT WIN32 OR CYGWIN OR MINGW) # SET UP LINKS if(PNG_SHARED) set_target_properties(${PNG_LIB_NAME} PROPERTIES -# VERSION 16.${PNGLIB_RELEASE}.1.6.8rc01 +# VERSION 16.${PNGLIB_RELEASE}.1.6.8rc02 VERSION 16.${PNGLIB_RELEASE}.0 SOVERSION 16 CLEAN_DIRECT_OUTPUT 1) diff --git a/LICENSE b/LICENSE index 5d3ac97ee..56a019e65 100644 --- a/LICENSE +++ b/LICENSE @@ -10,7 +10,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.6.8rc01, December 12, 2013, are +libpng versions 1.2.6, August 15, 2004, through 1.6.8rc02, December 14, 2013, are Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors @@ -108,4 +108,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -December 12, 2013 +December 14, 2013 diff --git a/README b/README index 103ce4eaa..5fdd39f13 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.6.8rc01 - December 12, 2013 (shared library 16.0) +README for libpng version 1.6.8rc02 - December 14, 2013 (shared library 16.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. diff --git a/configure.ac b/configure.ac index 09e590595..bdc8f77f7 100644 --- a/configure.ac +++ b/configure.ac @@ -18,7 +18,7 @@ AC_PREREQ([2.68]) dnl Version number stuff here: -AC_INIT([libpng],[1.6.8rc01],[png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng],[1.6.8rc02],[png-mng-implement@lists.sourceforge.net]) AC_CONFIG_MACRO_DIR([scripts]) # libpng does not follow GNU file name conventions (hence 'foreign') @@ -39,7 +39,7 @@ dnl automake, so the following is not necessary (and is not defined anyway): dnl AM_PREREQ([1.11.2]) dnl stop configure from automagically running automake -PNGLIB_VERSION=1.6.8rc01 +PNGLIB_VERSION=1.6.8rc02 PNGLIB_MAJOR=1 PNGLIB_MINOR=6 PNGLIB_RELEASE=8 diff --git a/libpng-manual.txt b/libpng-manual.txt index b2a2df442..828138160 100644 --- a/libpng-manual.txt +++ b/libpng-manual.txt @@ -1,6 +1,6 @@ libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.6.8rc01 - December 12, 2013 + libpng version 1.6.8rc02 - December 14, 2013 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson @@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.6.8rc01 - December 12, 2013 + libpng versions 0.97, January 1998, through 1.6.8rc02 - December 14, 2013 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson @@ -5233,13 +5233,13 @@ Other rules can be inferred by inspecting the libpng source. XVI. Y2K Compliance in libpng -December 12, 2013 +December 14, 2013 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.6.8rc01 are Y2K compliant. It is my belief that earlier +upward through 1.6.8rc02 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has two year fields. One is a 2-byte unsigned integer diff --git a/libpng.3 b/libpng.3 index 00ccf6cf2..c0a57dada 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "December 12, 2013" +.TH LIBPNG 3 "December 14, 2013" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.6.8rc01 +libpng \- Portable Network Graphics (PNG) Reference Library 1.6.8rc02 .SH SYNOPSIS \fB #include \fP @@ -504,7 +504,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng. .SH LIBPNG.TXT libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.6.8rc01 - December 12, 2013 + libpng version 1.6.8rc02 - December 14, 2013 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson @@ -515,7 +515,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.6.8rc01 - December 12, 2013 + libpng versions 0.97, January 1998, through 1.6.8rc02 - December 14, 2013 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson @@ -5738,13 +5738,13 @@ Other rules can be inferred by inspecting the libpng source. .SH XVI. Y2K Compliance in libpng -December 12, 2013 +December 14, 2013 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.6.8rc01 are Y2K compliant. It is my belief that earlier +upward through 1.6.8rc02 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has two year fields. One is a 2-byte unsigned integer @@ -6027,7 +6027,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.6.8rc01 - December 12, 2013: +Libpng version 1.6.8rc02 - December 14, 2013: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -6050,7 +6050,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.6.8rc01, December 12, 2013, are +libpng versions 1.2.6, August 15, 2004, through 1.6.8rc02, December 14, 2013, are Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors @@ -6149,7 +6149,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -December 12, 2013 +December 14, 2013 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index b2f5b51f1..2b27ad870 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "December 12, 2013" +.TH LIBPNGPF 3 "December 14, 2013" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.6.8rc01 +libpng \- Portable Network Graphics (PNG) Reference Library 1.6.8rc02 (private functions) .SH SYNOPSIS \fB#include \fI"pngpriv.h" diff --git a/png.5 b/png.5 index 4f9e06b50..c5af77c02 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "December 12, 2013" +.TH PNG 5 "December 14, 2013" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 5a6d7129b..0a631d255 100644 --- a/png.c +++ b/png.c @@ -14,7 +14,7 @@ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_6_8rc01 Your_png_h_is_not_version_1_6_8rc01; +typedef png_libpng_version_1_6_8rc02 Your_png_h_is_not_version_1_6_8rc02; /* Tells libpng that we have already handled the first "num_bytes" bytes * of the PNG file signature. If the PNG data is embedded into another @@ -773,13 +773,13 @@ png_get_copyright(png_const_structrp png_ptr) #else # ifdef __STDC__ return PNG_STRING_NEWLINE \ - "libpng version 1.6.8rc01 - December 12, 2013" PNG_STRING_NEWLINE \ + "libpng version 1.6.8rc02 - December 14, 2013" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2013 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ PNG_STRING_NEWLINE; # else - return "libpng version 1.6.8rc01 - December 12, 2013\ + return "libpng version 1.6.8rc02 - December 14, 2013\ Copyright (c) 1998-2013 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; diff --git a/png.h b/png.h index cfb46b44d..f760deb44 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.6.8rc01 - December 12, 2013 + * libpng version 1.6.8rc02 - December 14, 2013 * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -11,7 +11,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.6.8rc01 - December 12, 2013: Glenn + * libpng versions 0.97, January 1998, through 1.6.8rc02 - December 14, 2013: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -219,7 +219,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.6.8rc01, December 12, 2013, are + * libpng versions 1.2.6, August 15, 2004, through 1.6.8rc02, December 14, 2013, are * Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: @@ -331,13 +331,13 @@ * Y2K compliance in libpng: * ========================= * - * December 12, 2013 + * December 14, 2013 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.6.8rc01 are Y2K compliant. It is my belief that + * upward through 1.6.8rc02 are Y2K compliant. It is my belief that * earlier versions were also Y2K compliant. * * Libpng only has two year fields. One is a 2-byte unsigned integer @@ -397,9 +397,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.6.8rc01" +#define PNG_LIBPNG_VER_STRING "1.6.8rc02" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.6.8rc01 - December 12, 2013\n" + " libpng version 1.6.8rc02 - December 14, 2013\n" #define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_DLLNUM 16 @@ -413,7 +413,7 @@ * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 01 +#define PNG_LIBPNG_VER_BUILD 02 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -543,7 +543,7 @@ extern "C" { /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef char* png_libpng_version_1_6_8rc01; +typedef char* png_libpng_version_1_6_8rc02; /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. * diff --git a/pngconf.h b/pngconf.h index 61d1a71e0..7e91966e9 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.6.8rc01 - December 12, 2013 + * libpng version 1.6.8rc02 - December 14, 2013 * * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrtran.c b/pngrtran.c index 3b7d484fc..518ef22cc 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * Last changed in libpng 1.6.4 [August 21, 2013] + * Last changed in libpng 1.6.8 [(PENDING RELEASE)] * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -1942,6 +1942,9 @@ png_read_transform_info(png_structrp png_ptr, png_inforp info_ptr) info_ptr->bit_depth = 8; info_ptr->num_trans = 0; + + if (png_ptr->palette == NULL) + png_error (png_ptr, "Palette is NULL in indexed image"); } else { diff --git a/pngset.c b/pngset.c index 3d4c520e7..a5b7edbf8 100644 --- a/pngset.c +++ b/pngset.c @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * Last changed in libpng 1.6.3 [July 18, 2013] + * Last changed in libpng 1.6.8 [(PENDING RELEASE)] * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -527,8 +527,7 @@ png_set_PLTE(png_structrp png_ptr, png_inforp info_ptr, # endif )) { - png_chunk_report(png_ptr, "Invalid palette", PNG_CHUNK_ERROR); - + png_error(png_ptr, "Invalid palette"); return; } diff --git a/pngtest.c b/pngtest.c index b39b8c831..cb59b2265 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1970,4 +1970,4 @@ main(void) #endif /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_6_8rc01 Your_png_h_is_not_version_1_6_8rc01; +typedef png_libpng_version_1_6_8rc02 Your_png_h_is_not_version_1_6_8rc02; diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt index 73faf58f0..ce077b30a 100644 --- a/projects/vstudio/readme.txt +++ b/projects/vstudio/readme.txt @@ -1,7 +1,7 @@ VisualStudio instructions -libpng version 1.6.8rc01 - December 12, 2013 +libpng version 1.6.8rc02 - December 14, 2013 Copyright (c) 1998-2010 Glenn Randers-Pehrson diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props index 671413448..f8b91f458 100644 --- a/projects/vstudio/zlib.props +++ b/projects/vstudio/zlib.props @@ -2,7 +2,7 @@