From 975e7214327f1150cf4b7bf517cb311ecd7150ab Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Mon, 21 Jul 2008 08:04:34 -0500 Subject: [PATCH] Imported from libpng-1.2.30rc02.tar --- ANNOUNCE | 43 +++-- CHANGES | 8 +- INSTALL | 16 +- KNOWNBUG | 2 +- LICENSE | 4 +- Makefile.am | 2 +- Makefile.in | 2 +- README | 14 +- Y2KINFO | 4 +- configure | 22 +-- configure.ac | 4 +- example.c | 2 +- ...ng-1.2.30rc01.txt => libpng-1.2.30rc02.txt | 8 +- libpng.3 | 18 +- libpngpf.3 | 6 +- png.5 | 2 +- png.c | 6 +- png.h | 25 +-- pngconf.h | 2 +- pngerror.c | 2 +- pngget.c | 2 +- pngmem.c | 2 +- pngpread.c | 2 +- pngread.c | 3 +- pngrio.c | 2 +- pngrtran.c | 2 +- pngrutil.c | 163 ++++++++++-------- pngset.c | 2 +- pngtest.c | 4 +- pngtrans.c | 2 +- pngwio.c | 2 +- pngwrite.c | 2 +- pngwutil.c | 2 +- scripts/CMakeLists.txt | 2 +- scripts/libpng-config-head.in | 2 +- scripts/libpng.pc.in | 2 +- scripts/makefile.32sunu | 2 +- scripts/makefile.64sunu | 2 +- scripts/makefile.aix | 2 +- scripts/makefile.beos | 2 +- scripts/makefile.cygwin | 2 +- scripts/makefile.darwin | 2 +- scripts/makefile.dec | 2 +- scripts/makefile.elf | 2 +- scripts/makefile.gcmmx | 2 +- scripts/makefile.hp64 | 2 +- scripts/makefile.hpgcc | 2 +- scripts/makefile.hpux | 2 +- scripts/makefile.linux | 2 +- scripts/makefile.mingw | 2 +- scripts/makefile.ne12bsd | 2 +- scripts/makefile.netbsd | 2 +- scripts/makefile.nommx | 2 +- scripts/makefile.openbsd | 2 +- scripts/makefile.sco | 2 +- scripts/makefile.sggcc | 2 +- scripts/makefile.sgi | 2 +- scripts/makefile.so9 | 2 +- scripts/makefile.solaris | 2 +- scripts/makefile.solaris-x86 | 2 +- scripts/pngos2.def | 2 +- scripts/pngw32.def | 2 +- 62 files changed, 238 insertions(+), 202 deletions(-) rename libpng-1.2.30rc01.txt => libpng-1.2.30rc02.txt (99%) diff --git a/ANNOUNCE b/ANNOUNCE index e9851011..96e4de52 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.2.30rc01 - July 17, 2008 +Libpng 1.2.30rc02 - July 21, 2008 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,37 +9,37 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - libpng-1.2.30rc01.tar.gz - libpng-1.2.30rc01.tar.lzma + libpng-1.2.30rc02.tar.gz + libpng-1.2.30rc02.tar.lzma (Get the lzma codec from ). - libpng-1.2.30rc01.tar.bz2 + libpng-1.2.30rc02.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script - libpng-1.2.30rc01-no-config.tar.gz - libpng-1.2.30rc01-no-config.tar.lzma - libpng-1.2.30rc01-no-config.tar.bz2 + libpng-1.2.30rc02-no-config.tar.gz + libpng-1.2.30rc02-no-config.tar.lzma + libpng-1.2.30rc02-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp1230r01.zip - lp1230r01.7z - lp1230r01.tar.bz2 + lp1230r02.zip + lp1230r02.7z + lp1230r02.tar.bz2 Project files - libpng-1.2.30rc01-project-netware.zip - libpng-1.2.30rc01-project-wince.zip + libpng-1.2.30rc02-project-netware.zip + libpng-1.2.30rc02-project-wince.zip Other information: - libpng-1.2.30rc01-README.txt - libpng-1.2.30rc01-KNOWNBUGS.txt - libpng-1.2.30rc01-LICENSE.txt - libpng-1.2.30rc01-Y2K-compliance.txt - libpng-1.2.30rc01-[previous version]-diff.txt + libpng-1.2.30rc02-README.txt + libpng-1.2.30rc02-KNOWNBUGS.txt + libpng-1.2.30rc02-LICENSE.txt + libpng-1.2.30rc02-Y2K-compliance.txt + libpng-1.2.30rc02-[previous version]-diff.txt Changes since the last public release (1.2.29): @@ -79,8 +79,8 @@ version 1.2.30beta03 [July 6, 2008] Added demo of decoding vpAg and sTER chunks to pngtest.c, from 1.4.0beta19. Changed PNGMAJ from 0 to 12 in makefile.darwin, which does not like 0. Added new private function png_read_chunk_header() from 1.4.0beta19. - Merge reading of chunk length and chunk type into a single 8-byte read. - Merge writing of chunk length and chunk type into a single 8-byte write. + Merged reading of chunk length and chunk type into a single 8-byte read. + Merged writing of chunk length and chunk type into a single 8-byte write. version 1.2.30beta04 [July 10, 2008] Merged more cosmetic whitespace changes from libpng-1.4.0beta19. @@ -88,6 +88,11 @@ version 1.2.30beta04 [July 10, 2008] version 1.0.38rc01, 1.2.30rc01 [July 17, 2008] No changes. +version 1.0.38rc02, 1.2.30rc02 [July 21, 2008] + Moved local array "chunkdata" from pngrutil.c to the png_struct, so + it will be freed by png_read_destroy() in case of a read error. + + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 23acbbd0..27ee904c 100644 --- a/CHANGES +++ b/CHANGES @@ -2180,8 +2180,8 @@ version 1.2.30beta03 [July 6, 2008] Added demo of decoding vpAg and sTER chunks to pngtest.c, from 1.4.0beta19. Changed PNGMAJ from 0 to 12 in makefile.darwin, which does not like 0. Added new private function png_read_chunk_header() from 1.4.0beta19. - Merge reading of chunk length and chunk type into a single 8-byte read. - Merge writing of chunk length and chunk type into a single 8-byte write. + Merged reading of chunk length and chunk type into a single 8-byte read. + Merged writing of chunk length and chunk type into a single 8-byte write. version 1.2.30beta04 [July 10, 2008] Merged more cosmetic whitespace changes from libpng-1.4.0beta19. @@ -2189,6 +2189,10 @@ version 1.2.30beta04 [July 10, 2008] version 1.0.38rc01, 1.2.30rc01 [July 17, 2008] No changes. +version 1.0.38rc02, 1.2.30rc02 [July 21, 2008] + Moved local array "chunkdata" from pngrutil.c to the png_struct, so + it will be freed by png_read_destroy() in case of a read error. + 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/INSTALL b/INSTALL index 76950637..21992add 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.2.30rc01 - July 17, 2008 +Installing libpng version 1.2.30rc02 - July 21, 2008 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.2.30rc01" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.2.30rc02" 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 libpng12.so.0.1.2.30rc01) + gcc, creates libpng12.so.0.1.2.30rc02) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.30rc01) + (gcc, creates libpng12.so.0.1.2.30rc02) 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 libpng12.so.0.1.2.30rc01) + creates libpng12.so.0.1.2.30rc02) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng12.so.0.1.2.30rc01) + creates libpng12.so.0.1.2.30rc02) makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc, - creates libpng12.so.0.1.2.30rc01) + creates libpng12.so.0.1.2.30rc02) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng12.so.0.1.2.30rc01) + creates libpng12.so.0.1.2.30rc02) 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 diff --git a/KNOWNBUG b/KNOWNBUG index 01d1a029..0e208372 100644 --- a/KNOWNBUG +++ b/KNOWNBUG @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.2.30rc01 +Known bugs in libpng version 1.2.30rc02 1. February 23, 2006: The custom makefiles don't build libpng with -lz. diff --git a/LICENSE b/LICENSE index 2c25da8e..32c20f37 100644 --- a/LICENSE +++ b/LICENSE @@ -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.2.30rc01, July 17, 2008, are +libpng versions 1.2.6, August 15, 2004, through 1.2.30rc02, July 21, 2008, are Copyright (c) 2004, 2006-2008 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 @@ -106,4 +106,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -July 17, 2008 +July 21, 2008 diff --git a/Makefile.am b/Makefile.am index ded3458e..7cc34bc1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -86,7 +86,7 @@ EXTRA_DIST= \ ${srcdir}/contrib/pngsuite/* \ ${srcdir}/contrib/visupng/* \ $(TESTS) \ - example.c libpng-1.2.30rc01.txt pngvcrd.c + example.c libpng-1.2.30rc02.txt pngvcrd.c CLEANFILES= pngout.png libpng12.pc libpng12-config libpng.vers \ libpng.sym diff --git a/Makefile.in b/Makefile.in index 462fe814..58206e03 100644 --- a/Makefile.in +++ b/Makefile.in @@ -331,7 +331,7 @@ EXTRA_DIST = \ ${srcdir}/contrib/pngsuite/* \ ${srcdir}/contrib/visupng/* \ $(TESTS) \ - example.c libpng-1.2.30rc01.txt pngvcrd.c + example.c libpng-1.2.30rc02.txt pngvcrd.c CLEANFILES = pngout.png libpng12.pc libpng12-config libpng.vers \ libpng.sym diff --git a/README b/README index 4bbc4beb..5425d00f 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.2.30rc01 - July 17, 2008 (shared library 12.0) +README for libpng version 1.2.30rc02 - July 21, 2008 (shared library 12.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -194,11 +194,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 libpng12.so.0.1.2.30rc01) + gcc, creates libpng12.so.0.1.2.30rc02) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.30rc01) + (gcc, creates libpng12.so.0.1.2.30rc02) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.30rc01, + (gcc, creates libpng12.so.0.1.2.30rc02, 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 @@ -220,12 +220,12 @@ Files in this distribution: makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) makefile.sggcc => Silicon Graphics - (gcc, creates libpng12.so.0.1.2.30rc01) + (gcc, creates libpng12.so.0.1.2.30rc02) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng12.so.0.1.2.30rc01) + (gcc, creates libpng12.so.0.1.2.30rc02) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng12.so.0.1.2.30rc01) + (gcc, creates libpng12.so.0.1.2.30rc02) 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 diff --git a/Y2KINFO b/Y2KINFO index 3da62ab9..69ac43a2 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - July 17, 2008 + July 21, 2008 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.2.30rc01 are Y2K compliant. It is my belief that earlier + upward through 1.2.30rc02 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 diff --git a/configure b/configure index 969cb098..31a1137e 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62 for libpng 1.2.30rc01. +# Generated by GNU Autoconf 2.62 for libpng 1.2.30rc02. # # Report bugs to . # @@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.2.30rc01' -PACKAGE_STRING='libpng 1.2.30rc01' +PACKAGE_VERSION='1.2.30rc02' +PACKAGE_STRING='libpng 1.2.30rc02' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' ac_unique_file="pngget.c" @@ -1484,7 +1484,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.2.30rc01 to adapt to many kinds of systems. +\`configure' configures libpng 1.2.30rc02 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1554,7 +1554,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.2.30rc01:";; + short | recursive ) echo "Configuration of libpng 1.2.30rc02:";; esac cat <<\_ACEOF @@ -1661,7 +1661,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.2.30rc01 +libpng configure 1.2.30rc02 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1675,7 +1675,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.2.30rc01, which was +It was created by libpng $as_me 1.2.30rc02, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -2389,7 +2389,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.2.30rc01' + VERSION='1.2.30rc02' cat >>confdefs.h <<_ACEOF @@ -2558,7 +2558,7 @@ fi -PNGLIB_VERSION=1.2.30rc01 +PNGLIB_VERSION=1.2.30rc02 PNGLIB_MAJOR=1 PNGLIB_MINOR=2 PNGLIB_RELEASE=30 @@ -13125,7 +13125,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.2.30rc01, which was +This file was extended by libpng $as_me 1.2.30rc02, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13178,7 +13178,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -libpng config.status 1.2.30rc01 +libpng config.status 1.2.30rc02 configured by $0, generated by GNU Autoconf 2.62, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index af9cf7b6..b91812f8 100644 --- a/configure.ac +++ b/configure.ac @@ -18,12 +18,12 @@ AC_PREREQ(2.59) dnl Version number stuff here: -AC_INIT([libpng], [1.2.30rc01], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.2.30rc02], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE -PNGLIB_VERSION=1.2.30rc01 +PNGLIB_VERSION=1.2.30rc02 PNGLIB_MAJOR=1 PNGLIB_MINOR=2 PNGLIB_RELEASE=30 diff --git a/example.c b/example.c index ad80aff1..e6a12284 100644 --- a/example.c +++ b/example.c @@ -2,7 +2,7 @@ #if 0 /* in case someone actually tries to compile this */ /* example.c - an example of using libpng - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * This file has been placed in the public domain by the authors. * Maintained 1998-2008 Glenn Randers-Pehrson * Maintained 1996, 1997 Andreas Dilger) diff --git a/libpng-1.2.30rc01.txt b/libpng-1.2.30rc02.txt similarity index 99% rename from libpng-1.2.30rc01.txt rename to libpng-1.2.30rc02.txt index 04ccfb6b..0c9d13a1 100644 --- a/libpng-1.2.30rc01.txt +++ b/libpng-1.2.30rc02.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.2.30rc01 - July 17, 2008 + libpng version 1.2.30rc02 - July 21, 2008 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2008 Glenn Randers-Pehrson @@ -9,7 +9,7 @@ libpng.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.2.30rc01 - July 17, 2008 + libpng versions 0.97, January 1998, through 1.2.30rc02 - July 21, 2008 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2008 Glenn Randers-Pehrson @@ -2851,13 +2851,13 @@ application: IX. Y2K Compliance in libpng -July 17, 2008 +July 21, 2008 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.2.30rc01 are Y2K compliant. It is my belief that earlier +upward through 1.2.30rc02 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 diff --git a/libpng.3 b/libpng.3 index 76a1d9a5..4e786f5f 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "July 17, 2008" +.TH LIBPNG 3 "July 21, 2008" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.30rc01 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.30rc02 .SH SYNOPSIS \fI\fB @@ -821,7 +821,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.2.30rc01 - July 17, 2008 + libpng version 1.2.30rc02 - July 21, 2008 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2008 Glenn Randers-Pehrson @@ -830,7 +830,7 @@ libpng.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.2.30rc01 - July 17, 2008 + libpng versions 0.97, January 1998, through 1.2.30rc02 - July 21, 2008 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2008 Glenn Randers-Pehrson @@ -3672,13 +3672,13 @@ application: .SH IX. Y2K Compliance in libpng -July 17, 2008 +July 21, 2008 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.2.30rc01 are Y2K compliant. It is my belief that earlier +upward through 1.2.30rc02 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 @@ -3969,7 +3969,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.2.30rc01 - July 17, 2008: +Libpng version 1.2.30rc02 - July 21, 2008: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3990,7 +3990,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.2.30rc01, July 17, 2008, are +libpng versions 1.2.6, August 15, 2004, through 1.2.30rc02, July 21, 2008, are Copyright (c) 2004,2006-2008 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 @@ -4089,7 +4089,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -July 17, 2008 +July 21, 2008 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index 0e6c6760..2195a1c9 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "July 17, 2008" +.TH LIBPNGPF 3 "July 21, 2008" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.30rc01 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.30rc02 (private functions) .SH SYNOPSIS \fB#include \fP @@ -81,7 +81,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.30rc01 \fI\fB -\fBpng_charp png_decompress_chunk (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fIcomp_type\fP\fB, png_charp \fP\fIchunkdata\fP\fB, png_size_t \fP\fIchunklength\fP\fB, png_size_t \fP\fIprefix_length\fP\fB, png_size_t \fI*data_length\fP\fB);\fP +\fBpng_charp png_decompress_chunk (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fIcomp_type\fP\fB, png_bytep \fP\fIchunkdata\fP\fB, png_size_t \fP\fIchunklength\fP\fB, png_size_t \fP\fIprefix_length\fP\fB, png_size_t \fI*data_length\fP\fB);\fP \fI\fB diff --git a/png.5 b/png.5 index b5e7ed9e..b91539c4 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "July 17, 2008" +.TH PNG 5 "July 21, 2008" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index a2ed816d..fd3e238e 100644 --- a/png.c +++ b/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -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_2_30rc01 Your_png_h_is_not_version_1_2_30rc01; +typedef version_1_2_30rc02 Your_png_h_is_not_version_1_2_30rc02; /* 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.2.30rc01 - July 17, 2008\n\ + return ((png_charp) "\n libpng version 1.2.30rc02 - July 21, 2008\n\ Copyright (c) 1998-2008 Glenn Randers-Pehrson\n\ Copyright (c) 1996-1997 Andreas Dilger\n\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n"); diff --git a/png.h b/png.h index cc7e14b7..bff6d22b 100644 --- a/png.h +++ b/png.h @@ -1,6 +1,6 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.30rc01 - July 17, 2008 + * libpng version 1.2.30rc02 - July 21, 2008 * Copyright (c) 1998-2008 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.) @@ -8,7 +8,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.2.30rc01 - July 17, 2008: Glenn + * libpng versions 0.97, January 1998, through 1.2.30rc02 - July 21, 2008: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -194,8 +194,8 @@ * 1.2.29 13 10229 12.so.0.29[.0] * 1.0.37 10 10037 10.so.0.37[.0] * 1.2.30beta01-04 13 10230 12.so.0.30[.0] - * 1.0.38rc01 10 10038 10.so.0.38[.0] - * 1.2.30rc01 13 10230 12.so.0.30[.0] + * 1.0.38rc01-02 10 10038 10.so.0.38[.0] + * 1.2.30rc01-02 13 10230 12.so.0.30[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -225,7 +225,7 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.2.6, August 15, 2004, through 1.2.30rc01, July 17, 2008, are + * libpng versions 1.2.6, August 15, 2004, through 1.2.30rc02, July 21, 2008, are * Copyright (c) 2004, 2006-2008 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: @@ -337,13 +337,13 @@ * Y2K compliance in libpng: * ========================= * - * July 17, 2008 + * July 21, 2008 * * 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.2.30rc01 are Y2K compliant. It is my belief that earlier + * upward through 1.2.30rc02 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 @@ -399,9 +399,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.30rc01" +#define PNG_LIBPNG_VER_STRING "1.2.30rc02" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.30rc01 - July 17, 2008\n" + " libpng version 1.2.30rc02 - July 21, 2008\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM 13 @@ -413,7 +413,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 01 +#define PNG_LIBPNG_VER_BUILD 02 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -1449,13 +1449,16 @@ struct png_struct_def /* New members added in libpng-1.2.26 */ png_uint_32 old_big_row_buf_size, old_prev_row_size; +/* New member added in libpng-1.2.30 */ + png_charp chunkdata; /* buffer for reading chunk data */ + }; /* 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_2_30rc01; +typedef png_structp version_1_2_30rc02; typedef png_struct FAR * FAR * png_structpp; diff --git a/pngconf.h b/pngconf.h index 0cfde96b..a8cd75db 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.30rc01 - July 17, 2008 + * libpng version 1.2.30rc02 - July 21, 2008 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngerror.c b/pngerror.c index 646e71a8..c5132db3 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngget.c b/pngget.c index 5cbd963c..a5ff4241 100644 --- a/pngget.c +++ b/pngget.c @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngmem.c b/pngmem.c index 21d7964a..5705d14e 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngpread.c b/pngpread.c index f6e5656b..4d443531 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngread.c b/pngread.c index b796d179..6b71f0bb 100644 --- a/pngread.c +++ b/pngread.c @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1171,6 +1171,7 @@ png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr png_free(png_ptr, png_ptr->zbuf); png_free(png_ptr, png_ptr->big_row_buf); png_free(png_ptr, png_ptr->prev_row); + png_free(png_ptr, png_ptr->chunkdata); #if defined(PNG_READ_DITHER_SUPPORTED) png_free(png_ptr, png_ptr->palette_lookup); png_free(png_ptr, png_ptr->dither_index); diff --git a/pngrio.c b/pngrio.c index 732ba007..49fd5736 100644 --- a/pngrio.c +++ b/pngrio.c @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrtran.c b/pngrtran.c index 238ecb01..0bcfce62 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.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrutil.c b/pngrutil.c index 1647079e..9ac0acf6 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -252,6 +252,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type, if (text == NULL) { png_free(png_ptr, chunkdata); + chunkdata = NULL; png_error(png_ptr, "Not enough memory to decompress chunk"); } png_memcpy(text, chunkdata, prefix_size); @@ -276,6 +277,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type, if (text == NULL) { png_free(png_ptr, chunkdata); + chunkdata = NULL; png_error(png_ptr, "Not enough memory to decompress chunk."); } @@ -296,6 +298,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type, { png_free(png_ptr, tmp); png_free(png_ptr, chunkdata); + chunkdata = NULL; png_error(png_ptr, "Not enough memory to decompress chunk.."); } @@ -344,6 +347,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type, if (text == NULL) { png_free(png_ptr, chunkdata); + chunkdata = NULL; png_error(png_ptr, "Not enough memory for text."); } png_memcpy(text, chunkdata, prefix_size); @@ -1006,7 +1010,6 @@ void /* PRIVATE */ png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) /* Note: this does not properly handle chunks that are > 64K under DOS */ { - png_charp chunkdata; png_byte compression_type; png_bytep pC; png_charp profile; @@ -1044,28 +1047,31 @@ png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) } #endif - chunkdata = (png_charp)png_malloc(png_ptr, length + 1); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = (png_charp)png_malloc(png_ptr, length + 1); slength = (png_size_t)length; - png_crc_read(png_ptr, (png_bytep)chunkdata, slength); + png_crc_read(png_ptr, (png_bytep)png_ptr->chunkdata, slength); if (png_crc_finish(png_ptr, skip)) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } - chunkdata[slength] = 0x00; + png_ptr->chunkdata[slength] = 0x00; - for (profile = chunkdata; *profile; profile++) + for (profile = png_ptr->chunkdata; *profile; profile++) /* empty loop to find end of name */ ; ++profile; /* there should be at least one zero (the compression type byte) following the separator, and we should be on it */ - if ( profile >= chunkdata + slength - 1) + if ( profile >= png_ptr->chunkdata + slength - 1) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; png_warning(png_ptr, "Malformed iCCP chunk"); return; } @@ -1079,21 +1085,22 @@ png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) wrote nonzero) */ } - prefix_length = profile - chunkdata; - chunkdata = png_decompress_chunk(png_ptr, compression_type, chunkdata, - slength, prefix_length, &data_length); + prefix_length = profile - png_ptr->chunkdata; + png_ptr->chunkdata = png_decompress_chunk(png_ptr, compression_type, + png_ptr->chunkdata, slength, prefix_length, &data_length); profile_length = data_length - prefix_length; if ( prefix_length > data_length || profile_length < 4) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; png_warning(png_ptr, "Profile size field missing from iCCP chunk"); return; } /* Check the profile_size recorded in the first 32 bits of the ICC profile */ - pC = (png_bytep)(chunkdata + prefix_length); + pC = (png_bytep)(png_ptr->chunkdata + prefix_length); profile_size = ((*(pC ))<<24) | ((*(pC + 1))<<16) | ((*(pC + 2))<< 8) | @@ -1104,14 +1111,16 @@ png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) if (profile_size > profile_length) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; png_warning(png_ptr, "Ignoring truncated iCCP profile."); return; } - png_set_iCCP(png_ptr, info_ptr, chunkdata, compression_type, - chunkdata + prefix_length, profile_length); - png_free(png_ptr, chunkdata); + png_set_iCCP(png_ptr, info_ptr, png_ptr->chunkdata, + compression_type, png_ptr->chunkdata + prefix_length, profile_length); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; } #endif /* PNG_READ_iCCP_SUPPORTED */ @@ -1120,7 +1129,6 @@ void /* PRIVATE */ png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) /* Note: this does not properly handle chunks that are > 64K under DOS */ { - png_bytep chunkdata; png_bytep entry_start; png_sPLT_t new_palette; #ifdef PNG_NO_POINTER_INDEXING @@ -1150,38 +1158,42 @@ png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) } #endif - chunkdata = (png_bytep)png_malloc(png_ptr, length + 1); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = (png_charp)png_malloc(png_ptr, length + 1); slength = (png_size_t)length; - png_crc_read(png_ptr, (png_bytep)chunkdata, slength); + png_crc_read(png_ptr, (png_bytep)png_ptr->chunkdata, slength); if (png_crc_finish(png_ptr, skip)) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } - chunkdata[slength] = 0x00; + png_ptr->chunkdata[slength] = 0x00; - for (entry_start = chunkdata; *entry_start; entry_start++) + for (entry_start = (png_bytep)png_ptr->chunkdata; *entry_start; entry_start++) /* empty loop to find end of name */ ; ++entry_start; /* a sample depth should follow the separator, and we should be on it */ - if (entry_start > chunkdata + slength - 2) + if (entry_start > (png_bytep)png_ptr->chunkdata + slength - 2) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; png_warning(png_ptr, "malformed sPLT chunk"); return; } new_palette.depth = *entry_start++; entry_size = (new_palette.depth == 8 ? 6 : 10); - data_length = (slength - (entry_start - chunkdata)); + data_length = (slength - (entry_start - (png_bytep)png_ptr->chunkdata)); /* integrity-check the data length */ if (data_length % entry_size) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; png_warning(png_ptr, "sPLT chunk has bad length"); return; } @@ -1246,11 +1258,12 @@ png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) #endif /* discard all chunk data except the name and stash that */ - new_palette.name = (png_charp)chunkdata; + new_palette.name = png_ptr->chunkdata; png_set_sPLT(png_ptr, info_ptr, &new_palette, 1); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; png_free(png_ptr, new_palette.entries); } #endif /* PNG_READ_sPLT_SUPPORTED */ @@ -1974,7 +1987,6 @@ void /* PRIVATE */ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) { png_textp text_ptr; - png_charp chunkdata; png_charp text; int comp_type; int ret; @@ -1998,30 +2010,33 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) } #endif - chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1); - if (chunkdata == NULL) + png_free(png_ptr,png_ptr->chunkdata); + png_ptr->chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1); + if (png_ptr->chunkdata == NULL) { png_warning(png_ptr, "Out of memory processing zTXt chunk."); return; } slength = (png_size_t)length; - png_crc_read(png_ptr, (png_bytep)chunkdata, slength); + png_crc_read(png_ptr, (png_bytep)png_ptr->chunkdata, slength); if (png_crc_finish(png_ptr, 0)) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } - chunkdata[slength] = 0x00; + png_ptr->chunkdata[slength] = 0x00; - for (text = chunkdata; *text; text++) + for (text = png_ptr->chunkdata; *text; text++) /* empty loop */ ; /* zTXt must have some text after the chunkdataword */ - if (text >= chunkdata + slength - 2) + if (text >= png_ptr->chunkdata + slength - 2) { png_warning(png_ptr, "Truncated zTXt chunk"); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } else @@ -2034,33 +2049,35 @@ png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) } text++; /* skip the compression_method byte */ } - prefix_len = text - chunkdata; + prefix_len = text - png_ptr->chunkdata; - chunkdata = (png_charp)png_decompress_chunk(png_ptr, comp_type, chunkdata, - (png_size_t)length, prefix_len, &data_len); + png_ptr->chunkdata = (png_charp)png_decompress_chunk(png_ptr, comp_type, + png_ptr->chunkdata, (png_size_t)length, prefix_len, &data_len); text_ptr = (png_textp)png_malloc_warn(png_ptr, (png_uint_32)png_sizeof(png_text)); if (text_ptr == NULL) { png_warning(png_ptr, "Not enough memory to process zTXt chunk."); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } text_ptr->compression = comp_type; - text_ptr->key = chunkdata; + text_ptr->key = png_ptr->chunkdata; #ifdef PNG_iTXt_SUPPORTED text_ptr->lang = NULL; text_ptr->lang_key = NULL; text_ptr->itxt_length = 0; #endif - text_ptr->text = chunkdata + prefix_len; + text_ptr->text = png_ptr->chunkdata + prefix_len; text_ptr->text_length = data_len; ret = png_set_text_2(png_ptr, info_ptr, text_ptr, 1); png_free(png_ptr, text_ptr); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; if (ret) png_error(png_ptr, "Insufficient memory to store zTXt chunk."); } @@ -2072,7 +2089,6 @@ void /* PRIVATE */ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) { png_textp text_ptr; - png_charp chunkdata; png_charp key, lang, text, lang_key; int comp_flag; int comp_type = 0; @@ -2098,23 +2114,25 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) } #endif - chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1); - if (chunkdata == NULL) + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1); + if (png_ptr->chunkdata == NULL) { png_warning(png_ptr, "No memory to process iTXt chunk."); return; } slength = (png_size_t)length; - png_crc_read(png_ptr, (png_bytep)chunkdata, slength); + png_crc_read(png_ptr, (png_bytep)png_ptr->chunkdata, slength); if (png_crc_finish(png_ptr, 0)) { - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } - chunkdata[slength] = 0x00; + png_ptr->chunkdata[slength] = 0x00; - for (lang = chunkdata; *lang; lang++) + for (lang = png_ptr->chunkdata; *lang; lang++) /* empty loop */ ; lang++; /* skip NUL separator */ @@ -2122,10 +2140,11 @@ png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) translated keyword (possibly empty), and possibly some text after the keyword */ - if (lang >= chunkdata + slength - 3) + if (lang >= png_ptr->chunkdata + slength - 3) { png_warning(png_ptr, "Truncated iTXt chunk"); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } else @@ -2138,51 +2157,55 @@ 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) + if (lang_key >= png_ptr->chunkdata + slength) { png_warning(png_ptr, "Truncated iTXt chunk"); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } for (text = lang_key; *text; text++) /* empty loop */ ; text++; /* skip NUL separator */ - if (text >= chunkdata + slength) + if (text >= png_ptr->chunkdata + slength) { png_warning(png_ptr, "Malformed iTXt chunk"); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } - prefix_len = text - chunkdata; + prefix_len = text - png_ptr->chunkdata; - key=chunkdata; + key=png_ptr->chunkdata; if (comp_flag) - chunkdata = png_decompress_chunk(png_ptr, comp_type, chunkdata, - (size_t)length, prefix_len, &data_len); + png_ptr->chunkdata = png_decompress_chunk(png_ptr, comp_type, + png_ptr->chunkdata, (size_t)length, prefix_len, &data_len); else - data_len = png_strlen(chunkdata + prefix_len); + data_len = png_strlen(png_ptr->chunkdata + prefix_len); text_ptr = (png_textp)png_malloc_warn(png_ptr, (png_uint_32)png_sizeof(png_text)); if (text_ptr == NULL) { png_warning(png_ptr, "Not enough memory to process iTXt chunk."); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; return; } text_ptr->compression = (int)comp_flag + 1; - text_ptr->lang_key = chunkdata + (lang_key - key); - text_ptr->lang = chunkdata + (lang - key); + text_ptr->lang_key = png_ptr->chunkdata + (lang_key - key); + text_ptr->lang = png_ptr->chunkdata + (lang - key); text_ptr->itxt_length = data_len; text_ptr->text_length = 0; - text_ptr->key = chunkdata; - text_ptr->text = chunkdata + prefix_len; + text_ptr->key = png_ptr->chunkdata; + text_ptr->text = png_ptr->chunkdata + prefix_len; ret = png_set_text_2(png_ptr, info_ptr, text_ptr, 1); png_free(png_ptr, text_ptr); - png_free(png_ptr, chunkdata); + png_free(png_ptr, png_ptr->chunkdata); + png_ptr->chunkdata = NULL; if (ret) png_error(png_ptr, "Insufficient memory to store iTXt chunk."); } diff --git a/pngset.c b/pngset.c index 5d53a4e0..c9edf155 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.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngtest.c b/pngtest.c index 3a737290..8357bb39 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1684,4 +1684,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_30rc01 your_png_h_is_not_version_1_2_30rc01; +typedef version_1_2_30rc02 your_png_h_is_not_version_1_2_30rc02; diff --git a/pngtrans.c b/pngtrans.c index 230c6f98..44f8a8ba 100644 --- a/pngtrans.c +++ b/pngtrans.c @@ -1,7 +1,7 @@ /* pngtrans.c - transforms the data in a row (used by both readers and writers) * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwio.c b/pngwio.c index d8b97ba0..f85ded76 100644 --- a/pngwio.c +++ b/pngwio.c @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwrite.c b/pngwrite.c index 2074a7e0..4318ed18 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwutil.c b/pngwutil.c index bf2a42d8..15c3870f 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * Last changed in libpng 1.2.30 [July 17, 2008] + * Last changed in libpng 1.2.30 [July 21, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index a8ba7505..4cab4bb3 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.2.30rc01 +# VERSION 0.${PNGLIB_RELEASE}.1.2.30rc02 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 21c3724e..cd652cbe 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.2.30rc01 +version=1.2.30rc02 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 91c28154..f617b039 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng12 Name: libpng Description: Loads and saves PNG files -Version: 1.2.30rc01 +Version: 1.2.30rc02 Libs: -L${libdir} -lpng12 Cflags: -I${includedir} diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index e3943383..279bf99f 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index 2a10176f..8f4e2fb5 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 750d7bb8..0f723a15 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -20,7 +20,7 @@ LN_SF = ln -f -s LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index b0c50244..1f804da1 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index a62da955..3d5b6b7e 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 CYGDLL = 12 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index 8d479a4a..c5158927 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -19,7 +19,7 @@ ZLIBINC=../zlib # Library name: LIBNAME = libpng12 PNGMAJ = 12 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 08f87f6e..fd15edb9 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -5,7 +5,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.elf b/scripts/makefile.elf index 6c3b4cc2..87bc6e81 100644 --- a/scripts/makefile.elf +++ b/scripts/makefile.elf @@ -12,7 +12,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index e30a2bca..7f8eda5f 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -14,7 +14,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index c3b5ba11..54d18d4e 100644 --- a/scripts/makefile.hp64 +++ b/scripts/makefile.hp64 @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index 94f26110..295374a2 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index f1edff03..7021f0f5 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 0a18147c..eb59d359 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -6,7 +6,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw index 98a29073..9e0131d1 100644 --- a/scripts/makefile.mingw +++ b/scripts/makefile.mingw @@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 MINGDLL = 12 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=libpng$(MINGDLL).dll diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 7b5494ee..d28d44a7 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng12 LIB= png12 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.30rc01 +SHLIB_MINOR= 1.2.30rc02 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 a96a3a29..41cf54a3 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.2.30rc01 +SHLIB_MINOR= 1.2.30rc02 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 679b1da2..2cad8467 100644 --- a/scripts/makefile.nommx +++ b/scripts/makefile.nommx @@ -7,7 +7,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd index 6145dda0..f9c5a193 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.2.30rc01 +SHLIB_MINOR= 1.2.30rc02 LIB= png SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/makefile.sco b/scripts/makefile.sco index d92204e2..fc17b12f 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -9,7 +9,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 932ba924..4a9c53d7 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index dd02f46d..99edbbef 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index 09634f19..bbe1206f 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -8,7 +8,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index f823d364..0f38262a 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86 index b66b2ef2..7ff0916f 100644 --- a/scripts/makefile.solaris-x86 +++ b/scripts/makefile.solaris-x86 @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.30rc01 +PNGMIN = 1.2.30rc02 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/pngos2.def b/scripts/pngos2.def index e55f04e0..f68d65e6 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.30rc01 +; Version 1.2.30rc02 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index d75a8c45..d320fb1d 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.2.30rc01 +;Version 1.2.30rc02 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3