From d9e18047d3f3231c49c1928f69feb75acc5d2941 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Tue, 6 Jun 2006 21:48:26 -0500 Subject: [PATCH] Imported from libpng-1.2.11beta4.tar --- ANNOUNCE | 34 +++++++++++++++++++--------------- CHANGES | 6 +++++- INSTALL | 16 ++++++++-------- KNOWNBUG | 2 +- LICENSE | 4 ++-- README | 14 +++++++------- Y2KINFO | 4 ++-- configure | 22 +++++++++++----------- configure.ac | 4 ++-- libpng.3 | 18 +++++++++--------- libpng.txt | 6 +++--- libpngpf.3 | 4 ++-- png.5 | 2 +- png.c | 4 ++-- png.h | 23 ++++++++++++----------- pngconf.h | 2 +- pngpread.c | 9 +++++++-- pngread.c | 10 ++++++---- pngtest.c | 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.openbsd | 2 +- scripts/makefile.sco | 2 +- scripts/makefile.sggcc | 2 +- scripts/makefile.sgi | 2 +- scripts/makefile.so9 | 2 +- scripts/makefile.solaris | 2 +- scripts/pngos2.def | 2 +- scripts/pngw32.def | 2 +- 45 files changed, 127 insertions(+), 111 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 2a50b982..451e1d45 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.2.11beta3 - June 5, 2006 +Libpng 1.2.11beta4 - June 7, 2006 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.2.11beta3.tar.gz - libpng-1.2.11beta3.tar.bz2 + libpng-1.2.11beta4.tar.gz + libpng-1.2.11beta4.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script - libpng-1.2.11beta3-no-config.tar.gz - libpng-1.2.11beta3-no-config.tar.bz2 + libpng-1.2.11beta4-no-config.tar.gz + libpng-1.2.11beta4-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp1211b03.zip - lp1211b03.tar.bz2 + lp1211b04.zip + lp1211b04.tar.bz2 Project files - libpng-1.2.11beta3-project-netware.zip - libpng-1.2.11beta3-project-wince.zip + libpng-1.2.11beta4-project-netware.zip + libpng-1.2.11beta4-project-wince.zip Other information: - libpng-1.2.11beta3-README.txt - libpng-1.2.11beta3-KNOWNBUGS.txt - libpng-1.2.11beta3-LICENSE.txt - libpng-1.2.11beta3-Y2K-compliance.txt + libpng-1.2.11beta4-README.txt + libpng-1.2.11beta4-KNOWNBUGS.txt + libpng-1.2.11beta4-LICENSE.txt + libpng-1.2.11beta4-Y2K-compliance.txt Changes since the last public release (1.2.10): @@ -44,12 +44,12 @@ version 1.2.11beta1 [May 31, 2006] The shared-library makefiles were linking to libpng.so.0 instead of libpng.so.3 compatibility as the library. -version 1.2.11beta2 [June 5, 2006] +version 1.2.11beta2 [June 7, 2006] Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid buffer overflow. Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb)) -version 1.2.11beta3 [June 5, 2006] +version 1.2.11beta3 [June 7, 2006] Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin). Removed the accidental leftover Makefile.in~ (Cosmin). Avoided potential buffer overflow and optimized buffer in @@ -57,6 +57,10 @@ version 1.2.11beta3 [June 5, 2006] Removed the include directories and libraries from CFLAGS and LDFLAGS in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin). +version 1.2.11beta4 [June 7, 2006] + Allow zero-length IDAT chunks after the entire zlib datastream, but not + after another intervening chunk type. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/CHANGES b/CHANGES index d5a6f945..6ffc2dd6 100644 --- a/CHANGES +++ b/CHANGES @@ -1576,7 +1576,7 @@ version 1.2.11beta2 [June 2, 2006] buffer overflow. Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb)) -version 1.2.11beta3 [June 5, 2006] +version 1.2.11beta3 [June 7, 2006] Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin). Removed the accidental leftover Makefile.in~ (Cosmin). Avoided potential buffer overflow and optimized buffer in @@ -1584,6 +1584,10 @@ version 1.2.11beta3 [June 5, 2006] Removed the include directories and libraries from CFLAGS and LDFLAGS in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin). +version 1.2.11beta4 [June 7, 2006] + Allow zero-length IDAT chunks after the entire zlib datastream, but not + after another intervening chunk type. + 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 87e97564..20bac5fd 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.2.11beta3 - June 5, 2006 +Installing libpng version 1.2.11beta4 - June 7, 2006 On Unix/Linux and similar systems, you can simply type @@ -29,7 +29,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.11beta3" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.2.11beta4" 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: @@ -85,11 +85,11 @@ include makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng12.so.0.1.2.11beta3) + gcc, creates libpng12.so.0.1.2.11beta4) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.11beta3) + (gcc, creates libpng12.so.0.1.2.11beta4) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.11beta3, + (gcc, creates libpng12.so.0.1.2.11beta4, 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 @@ -112,12 +112,12 @@ 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.11beta3) + creates libpng12.so.0.1.2.11beta4) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng12.so.0.1.2.11beta3) + creates libpng12.so.0.1.2.11beta4) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng12.so.0.1.2.11beta3) + creates libpng12.so.0.1.2.11beta4) 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 7a550571..950b7cb8 100644 --- a/KNOWNBUG +++ b/KNOWNBUG @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.2.11beta3 +Known bugs in libpng version 1.2.11beta4 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when reading interlaced PNG files, when assembler code is enabled but running diff --git a/LICENSE b/LICENSE index ac56749d..4d764686 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.11beta3, June 5, 2006, are +libpng versions 1.2.6, August 15, 2004, through 1.2.11beta4, June 7, 2006, are Copyright (c) 2004, 2006 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 -June 5, 2006 +June 7, 2006 diff --git a/README b/README index 3a35e4a4..78d66c69 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.2.11beta3 - June 5, 2006 (shared library 12.0) +README for libpng version 1.2.11beta4 - June 7, 2006 (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. @@ -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 libpng12.so.0.1.2.11beta3) + gcc, creates libpng12.so.0.1.2.11beta4) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.11beta3) + (gcc, creates libpng12.so.0.1.2.11beta4) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.11beta3, + (gcc, creates libpng12.so.0.1.2.11beta4, 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 libpng12.so.0.1.2.11beta3) + (gcc, creates libpng12.so.0.1.2.11beta4) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng12.so.0.1.2.11beta3) + (gcc, creates libpng12.so.0.1.2.11beta4) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng12.so.0.1.2.11beta3) + (gcc, creates libpng12.so.0.1.2.11beta4) 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 9ba27b44..4217f1db 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - June 5, 2006 + June 7, 2006 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.11beta3 are Y2K compliant. It is my belief that earlier + upward through 1.2.11beta4 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 68b4dbba..144e6973 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.59 for libpng 1.2.11beta3. +# Generated by GNU Autoconf 2.59 for libpng 1.2.11beta4. # # Report bugs to . # @@ -423,8 +423,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.2.11beta3' -PACKAGE_STRING='libpng 1.2.11beta3' +PACKAGE_VERSION='1.2.11beta4' +PACKAGE_STRING='libpng 1.2.11beta4' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' ac_unique_file="pngget.c" @@ -954,7 +954,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.11beta3 to adapt to many kinds of systems. +\`configure' configures libpng 1.2.11beta4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1020,7 +1020,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.2.11beta3:";; + short | recursive ) echo "Configuration of libpng 1.2.11beta4:";; esac cat <<\_ACEOF @@ -1167,7 +1167,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.2.11beta3 +libpng configure 1.2.11beta4 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1181,7 +1181,7 @@ cat >&5 <<_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.11beta3, which was +It was created by libpng $as_me 1.2.11beta4, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1824,7 +1824,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.2.11beta3' + VERSION='1.2.11beta4' cat >>confdefs.h <<_ACEOF @@ -1979,7 +1979,7 @@ fi -PNGLIB_VERSION=1.2.11beta3 +PNGLIB_VERSION=1.2.11beta4 PNGLIB_MAJOR=12 PNGLIB_MINOR=11 @@ -20681,7 +20681,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by libpng $as_me 1.2.11beta3, which was +This file was extended by libpng $as_me 1.2.11beta4, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20744,7 +20744,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -libpng config.status 1.2.11beta3 +libpng config.status 1.2.11beta4 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 9aae93a1..e06726bd 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.11beta3], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.2.11beta4], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE -PNGLIB_VERSION=1.2.11beta3 +PNGLIB_VERSION=1.2.11beta4 PNGLIB_MAJOR=12 PNGLIB_MINOR=11 diff --git a/libpng.3 b/libpng.3 index c0615cc0..42a12006 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "June 5, 2006" +.TH LIBPNG 3 "June 7, 2006" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.11beta3 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.11beta4 .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.11beta3 - June 5, 2006 + libpng version 1.2.11beta4 - June 7, 2006 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2005 Glenn Randers-Pehrson @@ -3738,13 +3738,13 @@ application: .SH IX. Y2K Compliance in libpng -June 5, 2006 +June 7, 2006 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.11beta3 are Y2K compliant. It is my belief that earlier +upward through 1.2.11beta4 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 @@ -3904,7 +3904,7 @@ the first widely used release: 1.2.10beta1-8 13 10210 12.so.0.10[.0] 1.2.10rc1-3 13 10210 12.so.0.10[.0] 1.2.10 13 10210 12.so.0.10[.0] - 1.2.11beta1-3 13 10211 12.so.0.11[.0] + 1.2.11beta1-4 13 10211 12.so.0.11[.0] Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -3960,7 +3960,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.2.11beta3 - June 5, 2006: +Libpng version 1.2.11beta4 - June 7, 2006: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3981,7 +3981,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.11beta3, June 5, 2006, are +libpng versions 1.2.6, August 15, 2004, through 1.2.11beta4, June 7, 2006, are Copyright (c) 2004-2006 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 @@ -4080,7 +4080,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -June 5, 2006 +June 7, 2006 .\" end of man page diff --git a/libpng.txt b/libpng.txt index aa23635a..972dafac 100644 --- a/libpng.txt +++ b/libpng.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.2.11beta3 - June 5, 2006 + libpng version 1.2.11beta4 - June 7, 2006 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2005 Glenn Randers-Pehrson @@ -2917,13 +2917,13 @@ application: IX. Y2K Compliance in libpng -June 5, 2006 +June 7, 2006 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.11beta3 are Y2K compliant. It is my belief that earlier +upward through 1.2.11beta4 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/libpngpf.3 b/libpngpf.3 index b9a23599..a1ef784e 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "June 5, 2006" +.TH LIBPNGPF 3 "June 7, 2006" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.11beta3 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.11beta4 (private functions) .SH SYNOPSIS \fB#include \fP diff --git a/png.5 b/png.5 index df58aed4..58c63591 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "June 5, 2006" +.TH PNG 5 "June 7, 2006" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 73b0d11c..8b5db963 100644 --- a/png.c +++ b/png.c @@ -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_11beta3 Your_png_h_is_not_version_1_2_11beta3; +typedef version_1_2_11beta4 Your_png_h_is_not_version_1_2_11beta4; /* 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) { if (&png_ptr != NULL) /* silence compiler warning about unused png_ptr */ - return ((png_charp) "\n libpng version 1.2.11beta3 - June 5, 2006\n\ + return ((png_charp) "\n libpng version 1.2.11beta4 - June 7, 2006\n\ Copyright (c) 1998-2006 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 15edf52e..2e4fac8e 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.11beta3 - June 5, 2006 + * libpng version 1.2.11beta4 - June 7, 2006 * Copyright (c) 1998-2006 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.2.11beta3 - June 5, 2006: Glenn + * libpng versions 0.97, January 1998, through 1.2.11beta4 - June 7, 2006: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -119,7 +119,7 @@ * 1.2.10beta1-8 13 10210 12.so.0.10[.0] * 1.2.10rc1-3 13 10210 12.so.0.10[.0] * 1.2.10 13 10210 12.so.0.10[.0] - * 1.2.11beta1-3 13 10211 12.so.0.11[.0] + * 1.2.11beta1-4 13 10211 12.so.0.11[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -149,7 +149,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.11beta3, June 5, 2006, are + * libpng versions 1.2.6, August 15, 2004, through 1.2.11beta4, June 7, 2006, are * Copyright (c) 2004, 2006 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: @@ -261,13 +261,13 @@ * Y2K compliance in libpng: * ========================= * - * June 5, 2006 + * June 7, 2006 * * 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.11beta3 are Y2K compliant. It is my belief that earlier + * upward through 1.2.11beta4 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 @@ -323,9 +323,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.11beta3" +#define PNG_LIBPNG_VER_STRING "1.2.11beta4" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.11beta3 - June 5, 2006 (header)\n" + " libpng version 1.2.11beta4 - June 7, 2006 (header)\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM 13 @@ -337,7 +337,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 3 +#define PNG_LIBPNG_VER_BUILD 4 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -1367,7 +1367,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_2_11beta3; +typedef png_structp version_1_2_11beta4; typedef png_struct FAR * FAR * png_structpp; @@ -2650,7 +2650,7 @@ extern PNG_EXPORT(void,png_save_uint_16) #define PNG_HAVE_IHDR 0x01 #define PNG_HAVE_PLTE 0x02 #define PNG_HAVE_IDAT 0x04 -#define PNG_AFTER_IDAT 0x08 +#define PNG_AFTER_IDAT 0x08 /* Have complete zlib datastream */ #define PNG_HAVE_IEND 0x10 #define PNG_HAVE_gAMA 0x20 #define PNG_HAVE_cHRM 0x40 @@ -2660,6 +2660,7 @@ extern PNG_EXPORT(void,png_save_uint_16) #define PNG_WROTE_INFO_BEFORE_PLTE 0x400 #define PNG_BACKGROUND_IS_GRAY 0x800 #define PNG_HAVE_PNG_SIGNATURE 0x1000 +#define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */ /* flags for the transformations the PNG library does on the image data */ #define PNG_BGR 0x0001 diff --git a/pngconf.h b/pngconf.h index c3b4c886..75af1ce9 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.11beta3 - June 5, 2006 + * libpng version 1.2.11beta4 - June 7, 2006 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2005 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngpread.c b/pngpread.c index 4a98a2e2..f585239d 100644 --- a/pngpread.c +++ b/pngpread.c @@ -214,6 +214,10 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr) png_ptr->mode |= PNG_HAVE_CHUNK_HEADER; } + if (!png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4)) + if(png_ptr->mode & PNG_AFTER_IDAT) + png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT; + if (!png_memcmp(png_ptr->chunk_name, png_IHDR, 4)) { if (png_ptr->push_length + 4 > png_ptr->buffer_size) @@ -281,8 +285,9 @@ png_push_read_chunk(png_structp png_ptr, png_infop info_ptr) if (png_ptr->mode & PNG_HAVE_IDAT) { - if (png_ptr->push_length == 0) - return; + if (!(png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT)) + if (png_ptr->push_length == 0) + return; if (png_ptr->mode & PNG_AFTER_IDAT) png_error(png_ptr, "Too many IDAT's found"); diff --git a/pngread.c b/pngread.c index e99639f0..9dd83bc7 100644 --- a/pngread.c +++ b/pngread.c @@ -413,6 +413,10 @@ png_read_info(png_structp png_ptr, png_infop info_ptr) /* This should be a binary subdivision search or a hash for * matching the chunk name rather than a linear search. */ + if (!png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4)) + if(png_ptr->mode & PNG_AFTER_IDAT) + png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT; + if (!png_memcmp(png_ptr->chunk_name, png_IHDR, 4)) png_handle_IHDR(png_ptr, info_ptr, length); else if (!png_memcmp(png_ptr->chunk_name, png_IEND, 4)) @@ -985,11 +989,9 @@ png_read_end(png_structp png_ptr, png_infop info_ptr) { if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4)) { - if (length > 0 || png_ptr->mode & PNG_AFTER_IDAT) + if ((length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT)) png_error(png_ptr, "Too many IDAT's found"); } - else - png_ptr->mode |= PNG_AFTER_IDAT; png_handle_unknown(png_ptr, info_ptr, length); if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4)) png_ptr->mode |= PNG_HAVE_PLTE; @@ -1000,7 +1002,7 @@ png_read_end(png_structp png_ptr, png_infop info_ptr) /* Zero length IDATs are legal after the last IDAT has been * read, but not after other chunks have been read. */ - if (length > 0 || png_ptr->mode & PNG_AFTER_IDAT) + if ((length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT)) png_error(png_ptr, "Too many IDAT's found"); png_crc_finish(png_ptr, length); } diff --git a/pngtest.c b/pngtest.c index 2773f28b..00afcd73 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1549,4 +1549,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_11beta3 your_png_h_is_not_version_1_2_11beta3; +typedef version_1_2_11beta4 your_png_h_is_not_version_1_2_11beta4; diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index 6eb7c3cd..55dc80dd 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.2.11beta3 +version=1.2.11beta4 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 5ef9de16..f1965cef 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.11beta3 +Version: 1.2.11beta4 Libs: -L${libdir} -lpng12 Cflags: -I${includedir} diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index 977423c2..3043c67b 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index 5e460299..43bd2b0e 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 9371eb03..ac3fbea7 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.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index 8cbebbfe..b0a99fd0 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 86b3ebca..d843b56b 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -80,7 +80,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 CYGDLL = 12 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index 7f6f8a09..1e189a09 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -19,7 +19,7 @@ ZLIBINC=../zlib # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 2caa5a39..f8737bb6 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -5,7 +5,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.elf b/scripts/makefile.elf index 34e3734a..2f4cc4ed 100644 --- a/scripts/makefile.elf +++ b/scripts/makefile.elf @@ -12,7 +12,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 1aec9963..00d03c7a 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -16,7 +16,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index c19860a2..0dd5b373 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.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index ee74fa5b..cab15b0d 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index 17c77589..90ae1e53 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.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 3b02317a..bcc9bc39 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -6,7 +6,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw index d61d6ed8..34b6b4cd 100644 --- a/scripts/makefile.mingw +++ b/scripts/makefile.mingw @@ -76,7 +76,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 MINGDLL = 12 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=libpng$(MINGDLL).dll diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 5c52557e..2e64d942 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng12 LIB= png12 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.11beta3 +SHLIB_MINOR= 1.2.11beta4 SRCS= pnggccrd.c 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 c74d975c..26b1fcbd 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng LIB= png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.2.11beta3 +SHLIB_MINOR= 1.2.11beta4 SRCS= pnggccrd.c 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.openbsd b/scripts/makefile.openbsd index 7da11af7..863e7fb1 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib MANDIR= ${PREFIX}/man/cat SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.11beta3 +SHLIB_MINOR= 1.2.11beta4 LIB= png SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/makefile.sco b/scripts/makefile.sco index 694ca8dd..ff36af08 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -9,7 +9,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 6fa01da0..84f17220 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index d3dd9095..e348811f 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index 3553a8bd..6bb838b3 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -8,7 +8,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index a0c21f4d..883fe6fc 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.11beta3 +PNGMIN = 1.2.11beta4 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 07b82350..10ffb1ef 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.11beta3 +; Version 1.2.11beta4 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index 4834d851..8e8cf15c 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.2.11beta3 +;Version 1.2.11beta4 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3