diff options
author | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2007-09-26 17:24:22 -0500 |
---|---|---|
committer | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2011-09-03 12:25:01 -0500 |
commit | 39acfab5bc9a5b1cabc4d07742885e770cdf9aa3 (patch) | |
tree | cf141332562ac601ff237dc23b85fc2fc9551ff4 | |
parent | 43a349ae4a7194e278092cdae32515ae44fb76a6 (diff) | |
download | libpng-1.0.29rc2.tar.gz |
[libpng10] Imported from libpng-1.0.29rc2.tarv1.0.29rc2
49 files changed, 163 insertions, 127 deletions
@@ -1,5 +1,5 @@ -Libpng 1.0.29rc1 - September 26, 2007 +Libpng 1.0.29rc2 - September 26, 2007 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,32 +9,32 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - libpng-1.0.29rc1.tar.gz - libpng-1.0.29rc1.tar.bz2 + libpng-1.0.29rc2.tar.gz + libpng-1.0.29rc2.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script - libpng-1.0.29rc1-no-config.tar.gz - libpng-1.0.29rc1-no-config.tar.bz2 + libpng-1.0.29rc2-no-config.tar.gz + libpng-1.0.29rc2-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp1029r01.zip - lp1029r01.tar.bz2 + lp1029r02.zip + lp1029r02.tar.bz2 Project files - libpng-1.0.29rc1-project-netware.zip - libpng-1.0.29rc1-project-wince.zip + libpng-1.0.29rc2-project-netware.zip + libpng-1.0.29rc2-project-wince.zip Other information: - libpng-1.0.29rc1-README.txt - libpng-1.0.29rc1-KNOWNBUGS.txt - libpng-1.0.29rc1-LICENSE.txt - libpng-1.0.29rc1-Y2K-compliance.txt + libpng-1.0.29rc2-README.txt + libpng-1.0.29rc2-KNOWNBUGS.txt + libpng-1.0.29rc2-LICENSE.txt + libpng-1.0.29rc2-Y2K-compliance.txt Changes since the last public release (1.0.27): @@ -93,9 +93,14 @@ version 1.2.21beta1 [September 14, 2007] version 1.2.21beta2 [September 18, 2007] Removed some extraneous typecasts. -version 1.2.21rc1 [September 26, 2007] - Fixed potential out-of-bounds read in png_handle_pCAL(). +version 1.2.21rc1 [September 25, 2007] + Fixed potential out-of-bounds reads in png_handle_pCAL() and + png_handle_ztXt() ("flayer" results reported by Tavis Ormandy). +version 1.2.21rc2 [September 26, 2007] + Fixed potential out-of-bounds reads in png_handle_sCAL(), + png_handle_iTXt(), and png_push_read_tEXt(). + Remove some PNG_CONST declarations from pngwutil.c to avoid compiler warnings Send comments/corrections/commendations to png-mng-implement at lists.sf.net @@ -1939,10 +1939,15 @@ version 1.2.21beta1 [September 14, 2007] version 1.2.21beta2 [September 18, 2007] Removed some extraneous typecasts. -version 1.2.21rc1 [September 26, 2007] +version 1.2.21rc1 [September 25, 2007] Fixed potential out-of-bounds reads in png_handle_pCAL() and png_handle_ztXt() ("flayer" results reported by Tavis Ormandy). +version 1.2.21rc2 [September 26, 2007] + Fixed potential out-of-bounds reads in png_handle_sCAL(), + png_handle_iTXt(), and png_push_read_tEXt(). + Remove some PNG_CONST declarations from pngwutil.c to avoid compiler warnings + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement @@ -1,5 +1,5 @@ -Installing libpng version 1.0.29rc1 - September 26, 2007 +Installing libpng version 1.0.29rc2 - September 26, 2007 On Unix/Linux and similar systems, you can simply type @@ -44,7 +44,7 @@ to have access to the zlib.h and zconf.h include files that correspond to the version of zlib that's installed. You can rename the directories that you downloaded (they -might be called "libpng-1.0.29rc1" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.0.29rc2" or "lpng109" and "zlib-1.2.1" or "zlib121") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: @@ -101,9 +101,9 @@ include CMakeLists.txt => "cmake" script makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng10.so.0.1.0.29rc1) + gcc, creates libpng10.so.0.1.0.29rc2) makefile.linux => Linux/ELF makefile - (gcc, creates libpng10.so.0.1.0.29rc1) + (gcc, creates libpng10.so.0.1.0.29rc2) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with ansi2knr (Requires ansi2knr.c from @@ -125,14 +125,14 @@ include makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) makefile.sggcc => Silicon Graphics (gcc, - creates libpng10.so.0.1.0.29rc1) + creates libpng10.so.0.1.0.29rc2) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng10.so.0.1.0.29rc1) + creates libpng10.so.0.1.0.29rc2) makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc, - creates libpng10.so.0.1.0.29rc1) + creates libpng10.so.0.1.0.29rc2) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng10.so.0.1.0.29rc1) + creates libpng10.so.0.1.0.29rc2) makefile.32sunu => Sun Ultra 32-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.0.29rc1 +Known bugs in libpng version 1.0.29rc2 1. February 23, 2006: The custom makefiles don't build libpng with -lz. @@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.2.6, August 15, 2004, through 1.0.29rc1, September 26, 2007, are +libpng versions 1.2.6, August 15, 2004, through 1.0.29rc2, September 26, 2007, 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 @@ -1,4 +1,4 @@ -README for libpng version 1.0.29rc1 - September 26, 2007 (shared library 10.0) +README for libpng version 1.0.29rc2 - September 26, 2007 (shared library 10.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -190,11 +190,11 @@ Files in this distribution: descrip.mms => VMS makefile for MMS or MMK makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng10.so.0.1.0.29rc1) + gcc, creates libpng10.so.0.1.0.29rc2) makefile.linux => Linux/ELF makefile - (gcc, creates libpng10.so.0.1.0.29rc1) + (gcc, creates libpng10.so.0.1.0.29rc2) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng10.so.0.1.0.29rc1, + (gcc, creates libpng10.so.0.1.0.29rc2, uses assembler code tuned for Intel MMX platform) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with @@ -216,12 +216,12 @@ Files in this distribution: makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) makefile.sggcc => Silicon Graphics - (gcc, creates libpng10.so.0.1.0.29rc1) + (gcc, creates libpng10.so.0.1.0.29rc2) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng10.so.0.1.0.29rc1) + (gcc, creates libpng10.so.0.1.0.29rc2) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng10.so.0.1.0.29rc1) + (gcc, creates libpng10.so.0.1.0.29rc2) makefile.32sunu => Sun Ultra 32-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc @@ -7,7 +7,7 @@ an official declaration. This is your unofficial assurance that libpng from version 0.71 and - upward through 1.0.29rc1 are Y2K compliant. It is my belief that earlier + upward through 1.0.29rc2 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for libpng 1.0.29rc1. +# Generated by GNU Autoconf 2.61 for libpng 1.0.29rc2. # # Report bugs to <png-mng-implement@lists.sourceforge.net>. # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.0.29rc1' -PACKAGE_STRING='libpng 1.0.29rc1' +PACKAGE_VERSION='1.0.29rc2' +PACKAGE_STRING='libpng 1.0.29rc2' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' ac_unique_file="pngget.c" @@ -1405,7 +1405,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libpng 1.0.29rc1 to adapt to many kinds of systems. +\`configure' configures libpng 1.0.29rc2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1475,7 +1475,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.0.29rc1:";; + short | recursive ) echo "Configuration of libpng 1.0.29rc2:";; esac cat <<\_ACEOF @@ -1585,7 +1585,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.0.29rc1 +libpng configure 1.0.29rc2 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1599,7 +1599,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libpng $as_me 1.0.29rc1, which was +It was created by libpng $as_me 1.0.29rc2, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2269,7 +2269,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.0.29rc1' + VERSION='1.0.29rc2' cat >>confdefs.h <<_ACEOF @@ -2440,7 +2440,7 @@ fi -PNGLIB_VERSION=1.0.29rc1 +PNGLIB_VERSION=1.0.29rc2 PNGLIB_MAJOR=1 PNGLIB_MINOR=0 PNGLIB_RELEASE=29 @@ -21282,7 +21282,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libpng $as_me 1.0.29rc1, which was +This file was extended by libpng $as_me 1.0.29rc2, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21335,7 +21335,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -libpng config.status 1.0.29rc1 +libpng config.status 1.0.29rc2 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 84585668f..0582c225b 100644 --- a/configure.ac +++ b/configure.ac @@ -18,12 +18,12 @@ AC_PREREQ(2.59) dnl Version number stuff here: -AC_INIT([libpng], [1.0.29rc1], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.0.29rc2], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE -PNGLIB_VERSION=1.0.29rc1 +PNGLIB_VERSION=1.0.29rc2 PNGLIB_MAJOR=1 PNGLIB_MINOR=0 PNGLIB_RELEASE=29 diff --git a/libpng-1.0.29rc1.txt b/libpng-1.0.29rc2.txt index 854e25e61..086b41763 100644 --- a/libpng-1.0.29rc1.txt +++ b/libpng-1.0.29rc2.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.0.29rc1 - September 26, 2007 + libpng version 1.0.29rc2 - September 26, 2007 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2007 Glenn Randers-Pehrson @@ -2766,7 +2766,7 @@ 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.0.29rc1 are Y2K compliant. It is my belief that earlier +upward through 1.0.29rc2 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer that @@ -1,6 +1,6 @@ .TH LIBPNG 3 "September 26, 2007" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.0.29rc1 +libpng \- Portable Network Graphics (PNG) Reference Library 1.0.29rc2 .SH SYNOPSIS \fB #include <png.h>\fP @@ -410,7 +410,7 @@ Following is a copy of the libpng.txt file that accompanies libpng. .SH LIBPNG.TXT libpng.txt - A description on how to use and modify libpng - libpng version 1.0.29rc1 - September 26, 2007 + libpng version 1.0.29rc2 - September 26, 2007 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2007 Glenn Randers-Pehrson @@ -3176,7 +3176,7 @@ 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.0.29rc1 are Y2K compliant. It is my belief that earlier +upward through 1.0.29rc2 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer that @@ -3375,6 +3375,8 @@ the first widely used release: 1.2.20rc1-6 13 10220 12.so.0.20[.0] 1.0.28 10 10028 10.so.0.28[.0] 1.2.20 13 10220 12.so.0.20[.0] + 1.2.21beta1-2 13 10221 12.so.0.21[.0] + 1.2.21rc1-2 13 10221 12.so.0.21[.0] Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -3430,7 +3432,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.0.29rc1 - September 26, 2007: +Libpng version 1.0.29rc2 - September 26, 2007: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3451,7 +3453,7 @@ included in the libpng distribution, the latter shall prevail.) If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.2.6, August 15, 2004, through 1.0.29rc1, September 26, 2007, are +libpng versions 1.2.6, August 15, 2004, through 1.0.29rc2, September 26, 2007, 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 diff --git a/libpngpf.3 b/libpngpf.3 index 62d3977a9..8f1f300ef 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ .TH LIBPNGPF 3 "September 26, 2007" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.0.29rc1 +libpng \- Portable Network Graphics (PNG) Reference Library 1.0.29rc2 (private functions) .SH SYNOPSIS \fB#include <png.h>\fP @@ -13,7 +13,7 @@ #include "png.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_0_29rc1 Your_png_h_is_not_version_1_0_29rc1; +typedef version_1_0_29rc2 Your_png_h_is_not_version_1_0_29rc2; /* Version information for C files. This had better match the version * string defined in png.h. */ @@ -693,7 +693,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { png_ptr = png_ptr; /* silence compiler warning about unused png_ptr */ - return ((png_charp) "\n libpng version 1.0.29rc1 - September 26, 2007\n\ + return ((png_charp) "\n libpng version 1.0.29rc2 - September 26, 2007\n\ Copyright (c) 1998-2007 Glenn Randers-Pehrson\n\ Copyright (c) 1996-1997 Andreas Dilger\n\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n"); @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.0.29rc1 - September 26, 2007 + * libpng version 1.0.29rc2 - September 26, 2007 * Copyright (c) 1998-2007 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.) @@ -9,7 +9,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.0.29rc1 - September 26, 2007: Glenn + * libpng versions 0.97, January 1998, through 1.0.29rc2 - September 26, 2007: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -160,6 +160,8 @@ * 1.2.20rc1-6 13 10220 12.so.0.20[.0] * 1.0.28 10 10028 10.so.0.28[.0] * 1.2.20 13 10220 12.so.0.20[.0] + * 1.2.21beta1-2 13 10221 12.so.0.21[.0] + * 1.2.21rc1-2 13 10221 12.so.0.21[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -189,7 +191,7 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.2.6, August 15, 2004, through 1.0.29rc1, September 26, 2007, are + * libpng versions 1.2.6, August 15, 2004, through 1.0.29rc2, September 26, 2007, 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: @@ -307,7 +309,7 @@ * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.0.29rc1 are Y2K compliant. It is my belief that earlier + * upward through 1.0.29rc2 are Y2K compliant. It is my belief that earlier * versions were also Y2K compliant. * * Libpng only has three year fields. One is a 2-byte unsigned integer @@ -363,9 +365,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.0.29rc1" +#define PNG_LIBPNG_VER_STRING "1.0.29rc2" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.0.29rc1 - September 26, 2007\n" + " libpng version 1.0.29rc2 - September 26, 2007\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM 10 @@ -377,7 +379,7 @@ /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 1 +#define PNG_LIBPNG_VER_BUILD 2 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -1412,7 +1414,7 @@ struct png_struct_def /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef png_structp version_1_0_29rc1; +typedef png_structp version_1_0_29rc2; typedef png_struct FAR * FAR * png_structpp; @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.0.29rc1 - September 26, 2007 + * libpng version 1.0.29rc2 - September 26, 2007 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2007 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngpread.c b/pngpread.c index 3ce4b3fde..843c0bc9a 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1120,7 +1120,7 @@ png_push_read_tEXt(png_structp png_ptr, png_infop info_ptr) for (text = key; *text; text++) /* empty loop */ ; - if (text != key + png_ptr->current_text_size) + if (text < key + png_ptr->current_text_size) text++; text_ptr = (png_textp)png_malloc(png_ptr, @@ -1215,7 +1215,7 @@ png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr) /* empty loop */ ; /* zTXt can't have zero text */ - if (text == key + png_ptr->current_text_size) + if (text >= key + png_ptr->current_text_size) { png_ptr->current_text = NULL; png_free(png_ptr, key); @@ -1412,7 +1412,7 @@ png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr) for (lang = key; *lang; lang++) /* empty loop */ ; - if (lang != key + png_ptr->current_text_size) + if (lang < key + png_ptr->current_text_size - 3) lang++; comp_flag = *lang++; @@ -1422,10 +1422,14 @@ png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr) /* empty loop */ ; lang_key++; /* skip NUL separator */ - for (text = lang_key; *text; text++) - /* empty loop */ ; + text=lang_key; + if (lang_key < key + png_ptr->current_text_size - 1) + { + for (; *text; text++) + /* empty loop */ ; + } - if (text != key + png_ptr->current_text_size) + if (text < key + png_ptr->current_text_size) text++; text_ptr = (png_textp)png_malloc(png_ptr, diff --git a/pngrutil.c b/pngrutil.c index a775af628..a676b9950 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1771,6 +1771,17 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) /* empty loop */ ; ep++; + if (buffer + slength < ep) + { + png_warning(png_ptr, "Truncated sCAL chunk"); +#if defined(PNG_FIXED_POINT_SUPPORTED) && \ + !defined(PNG_FLOATING_POINT_SUPPORTED) + png_free(png_ptr, swidth); +#endif + png_free(png_ptr, buffer); + return; + } + #ifdef PNG_FLOATING_POINT_SUPPORTED height = png_strtod(png_ptr, ep, &vp); if (*vp) @@ -2114,6 +2125,13 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) /* empty loop */ ; lang_key++; /* skip NUL separator */ + if (lang_key >= chunkdata + slength) + { + png_warning(png_ptr, "Truncated iTXt chunk"); + png_free(png_ptr, chunkdata); + return; + } + for (text = lang_key; *text; text++) /* empty loop */ ; text++; /* skip NUL separator */ @@ -1548,4 +1548,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_0_29rc1 your_png_h_is_not_version_1_0_29rc1; +typedef version_1_0_29rc2 your_png_h_is_not_version_1_0_29rc2; diff --git a/pngwutil.c b/pngwutil.c index eebae3508..fef38aef9 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -378,7 +378,7 @@ png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height, int interlace_type) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_IHDR; + PNG_IHDR; #endif png_byte buf[13]; /* buffer to store the IHDR info */ @@ -544,7 +544,7 @@ void /* PRIVATE */ png_write_PLTE(png_structp png_ptr, png_colorp palette, png_uint_32 num_pal) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_PLTE; + PNG_PLTE; #endif png_uint_32 i; png_colorp pal_ptr; @@ -607,7 +607,7 @@ void /* PRIVATE */ png_write_IDAT(png_structp png_ptr, png_bytep data, png_size_t length) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_IDAT; + PNG_IDAT; #endif png_debug(1, "in png_write_IDAT\n"); @@ -659,7 +659,7 @@ void /* PRIVATE */ png_write_IEND(png_structp png_ptr) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_IEND; + PNG_IEND; #endif png_debug(1, "in png_write_IEND\n"); png_write_chunk(png_ptr, png_IEND, png_bytep_NULL, @@ -674,7 +674,7 @@ void /* PRIVATE */ png_write_gAMA(png_structp png_ptr, double file_gamma) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_gAMA; + PNG_gAMA; #endif png_uint_32 igamma; png_byte buf[4]; @@ -691,7 +691,7 @@ void /* PRIVATE */ png_write_gAMA_fixed(png_structp png_ptr, png_fixed_point file_gamma) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_gAMA; + PNG_gAMA; #endif png_byte buf[4]; @@ -709,7 +709,7 @@ void /* PRIVATE */ png_write_sRGB(png_structp png_ptr, int srgb_intent) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_sRGB; + PNG_sRGB; #endif png_byte buf[1]; @@ -729,7 +729,7 @@ png_write_iCCP(png_structp png_ptr, png_charp name, int compression_type, png_charp profile, int profile_len) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_iCCP; + PNG_iCCP; #endif png_size_t name_len; png_charp new_name; @@ -802,7 +802,7 @@ void /* PRIVATE */ png_write_sPLT(png_structp png_ptr, png_sPLT_tp spalette) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_sPLT; + PNG_sPLT; #endif png_size_t name_len; png_charp new_name; @@ -885,7 +885,7 @@ void /* PRIVATE */ png_write_sBIT(png_structp png_ptr, png_color_8p sbit, int color_type) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_sBIT; + PNG_sBIT; #endif png_byte buf[4]; png_size_t size; @@ -944,7 +944,7 @@ png_write_cHRM(png_structp png_ptr, double white_x, double white_y, double blue_x, double blue_y) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_cHRM; + PNG_cHRM; #endif png_byte buf[32]; png_uint_32 itemp; @@ -1006,7 +1006,7 @@ png_write_cHRM_fixed(png_structp png_ptr, png_fixed_point white_x, png_fixed_point blue_y) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_cHRM; + PNG_cHRM; #endif png_byte buf[32]; @@ -1059,7 +1059,7 @@ png_write_tRNS(png_structp png_ptr, png_bytep trans, png_color_16p tran, int num_trans, int color_type) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_tRNS; + PNG_tRNS; #endif png_byte buf[6]; @@ -1113,7 +1113,7 @@ void /* PRIVATE */ png_write_bKGD(png_structp png_ptr, png_color_16p back, int color_type) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_bKGD; + PNG_bKGD; #endif png_byte buf[6]; @@ -1166,7 +1166,7 @@ void /* PRIVATE */ png_write_hIST(png_structp png_ptr, png_uint_16p hist, int num_hist) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_hIST; + PNG_hIST; #endif int i; png_byte buf[3]; @@ -1328,7 +1328,7 @@ png_write_tEXt(png_structp png_ptr, png_charp key, png_charp text, png_size_t text_len) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_tEXt; + PNG_tEXt; #endif png_size_t key_len; png_charp new_key; @@ -1369,7 +1369,7 @@ png_write_zTXt(png_structp png_ptr, png_charp key, png_charp text, png_size_t text_len, int compression) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_zTXt; + PNG_zTXt; #endif png_size_t key_len; char buf[1]; @@ -1428,7 +1428,7 @@ png_write_iTXt(png_structp png_ptr, int compression, png_charp key, png_charp lang, png_charp lang_key, png_charp text) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_iTXt; + PNG_iTXt; #endif png_size_t lang_len, key_len, lang_key_len, text_len; png_charp new_lang, new_key; @@ -1517,7 +1517,7 @@ png_write_oFFs(png_structp png_ptr, png_int_32 x_offset, png_int_32 y_offset, int unit_type) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_oFFs; + PNG_oFFs; #endif png_byte buf[9]; @@ -1539,7 +1539,7 @@ png_write_pCAL(png_structp png_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_charp units, png_charpp params) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_pCAL; + PNG_pCAL; #endif png_size_t purpose_len, units_len, total_len; png_uint_32p params_len; @@ -1599,7 +1599,7 @@ void /* PRIVATE */ png_write_sCAL(png_structp png_ptr, int unit, double width, double height) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_sCAL; + PNG_sCAL; #endif char buf[64]; png_size_t total_len; @@ -1639,7 +1639,7 @@ png_write_sCAL_s(png_structp png_ptr, int unit, png_charp width, png_charp height) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_sCAL; + PNG_sCAL; #endif png_byte buf[64]; png_size_t wlen, hlen, total_len; @@ -1674,7 +1674,7 @@ png_write_pHYs(png_structp png_ptr, png_uint_32 x_pixels_per_unit, int unit_type) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_pHYs; + PNG_pHYs; #endif png_byte buf[9]; @@ -1698,7 +1698,7 @@ void /* PRIVATE */ png_write_tIME(png_structp png_ptr, png_timep mod_time) { #ifdef PNG_USE_LOCAL_ARRAYS - PNG_CONST PNG_tIME; + PNG_tIME; #endif png_byte buf[7]; diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 9c69e7dda..2b40518ad 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -169,7 +169,7 @@ configure_file(${PNG_SOURCE_DIR}/scripts/libpng-config.in # SET UP LINKS set_target_properties(${PNG_LIB_NAME} PROPERTIES -# VERSION 0.${PNGLIB_RELEASE}.1.0.29rc1 +# VERSION 0.${PNGLIB_RELEASE}.1.0.29rc2 VERSION 0.${PNGLIB_RELEASE}.0 SOVERSION 0 CLEAN_DIRECT_OUTPUT 1) diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index bc958632a..2715cfc3f 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.0.29rc1 +version=1.0.29rc2 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in index 8cd9aac5f..dfeb3624c 100644 --- a/scripts/libpng.pc-configure.in +++ b/scripts/libpng.pc-configure.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng10 Name: libpng Description: Loads and saves PNG files -Version: 1.0.29rc1 +Version: 1.0.29rc2 Libs: -L${libdir} -lpng10 Cflags: -I${includedir} @LIBPNG_NO_MMX@ diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 9425e6050..60fcb1b78 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng10 Name: libpng Description: Loads and saves PNG files -Version: 1.0.29rc1 +Version: 1.0.29rc2 Libs: -L${libdir} -lpng10 Cflags: -I${includedir} diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index b9486fe14..a4ddadba0 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index fe643f182..0f851094c 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 3b285d5f9..84a78ccfc 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -20,7 +20,7 @@ LN_SF = ln -f -s LIBNAME=libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index 67983b6f1..f8853b76f 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 867f60be5..d388b83a9 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng10 PNGMAJ = 0 CYGDLL = 10 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index 4bbed7502..41532b9d4 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -19,7 +19,7 @@ ZLIBINC=../zlib # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.dec b/scripts/makefile.dec index e08d09aea..349c0d237 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -5,7 +5,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng10 diff --git a/scripts/makefile.elf b/scripts/makefile.elf index 597d088d5..3167da3b5 100644 --- a/scripts/makefile.elf +++ b/scripts/makefile.elf @@ -12,7 +12,7 @@ # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 829273470..674f1b891 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -14,7 +14,7 @@ # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index f68599673..6e6c1fac7 100644 --- a/scripts/makefile.hp64 +++ b/scripts/makefile.hp64 @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index e27972c24..c1dc01006 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index 3985bc499..bccbe1905 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.linux b/scripts/makefile.linux index cbfac3383..792a51e5a 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -6,7 +6,7 @@ # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw index 29b715d4d..ffba9326b 100644 --- a/scripts/makefile.mingw +++ b/scripts/makefile.mingw @@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng10 PNGMAJ = 0 MINGDLL = 10 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=libpng$(MINGDLL).dll diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 6bfff374d..96a438490 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng10 LIB= png12 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.0.29rc1 +SHLIB_MINOR= 1.0.29rc2 SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd index 9e61d7fb3..a8643443a 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng LIB= png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.0.29rc1 +SHLIB_MINOR= 1.0.29rc2 SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.nommx b/scripts/makefile.nommx index 41a8576a8..cf2b606f2 100644 --- a/scripts/makefile.nommx +++ b/scripts/makefile.nommx @@ -7,7 +7,7 @@ # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd index 25b4c2026..12b8fbd34 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -8,7 +8,7 @@ LIBDIR= ${PREFIX}/lib MANDIR= ${PREFIX}/man/cat SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.0.29rc1 +SHLIB_MINOR= 1.0.29rc2 LIB= png SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/makefile.sco b/scripts/makefile.sco index 50498b01f..e35421add 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -9,7 +9,7 @@ # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 46cafd46a..e5ca2b022 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index 645b312e7..c1e57f6db 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index 04f631c66..3b62b85a9 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -8,7 +8,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng10 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index d371ce67f..54761ed46 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86 index cc36fc8ab..e5235a4dd 100644 --- a/scripts/makefile.solaris-x86 +++ b/scripts/makefile.solaris-x86 @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng10 PNGMAJ = 0 -PNGMIN = 1.0.29rc1 +PNGMIN = 1.0.29rc2 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 611a8c33b..dc8a21dd9 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.0.29rc1 +; Version 1.0.29rc2 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index b432f915b..d59e106fc 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.0.29rc1 +;Version 1.0.29rc2 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3 |