[libpng10] Imported from libpng-1.0.29rc2.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 081caf1..7fc571c 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -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 @@
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.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
diff --git a/CHANGES b/CHANGES
index 79fa188..fd94ef3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1939,10 +1939,15 @@
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
diff --git a/INSTALL b/INSTALL
index eead545..d346c8e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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 @@
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 @@
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 @@
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
diff --git a/KNOWNBUG b/KNOWNBUG
index 3f5f9e6..90f4cc3 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -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.
diff --git a/LICENSE b/LICENSE
index d43d2e4..5fbbd9b 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,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
diff --git a/README b/README
index 1396577..67c36ea 100644
--- a/README
+++ b/README
@@ -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 @@
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 @@
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
diff --git a/Y2KINFO b/Y2KINFO
index 953e6d1..59be3c7 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -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
diff --git a/configure b/configure
index bacfded..1090f91 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.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 @@
# 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 @@
# 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 @@
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 @@
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 @@
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 @@
# Define the identity of the package.
PACKAGE='libpng'
- VERSION='1.0.29rc1'
+ VERSION='1.0.29rc2'
cat >>confdefs.h <<_ACEOF
@@ -2440,7 +2440,7 @@
-PNGLIB_VERSION=1.0.29rc1
+PNGLIB_VERSION=1.0.29rc2
PNGLIB_MAJOR=1
PNGLIB_MINOR=0
PNGLIB_RELEASE=29
@@ -21282,7 +21282,7 @@
# 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 @@
_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 8458566..0582c22 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
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
similarity index 99%
rename from libpng-1.0.29rc1.txt
rename to libpng-1.0.29rc2.txt
index 854e25e..086b417 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 @@
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
diff --git a/libpng.3 b/libpng.3
index 3efa158..e6d929a 100644
--- a/libpng.3
+++ b/libpng.3
@@ -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 @@
.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 @@
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 @@
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 @@
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 @@
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 62d3977..8f1f300 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
diff --git a/png.c b/png.c
index 511d0d0..36188e9 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_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_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");
diff --git a/png.h b/png.h
index 409ff5e..72a413b 100644
--- a/png.h
+++ b/png.h
@@ -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 @@
/* 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;
diff --git a/pngconf.h b/pngconf.h
index f0d7515..83751b8 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -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 3ce4b3f..843c0bc 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1120,7 +1120,7 @@
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 @@
/* 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 @@
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 @@
/* 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 a775af6..a676b99 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1771,6 +1771,17 @@
/* 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 @@
/* 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 */
diff --git a/pngtest.c b/pngtest.c
index ec82068..ae63957 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1548,4 +1548,4 @@
}
/* 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 eebae35..fef38ae 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -378,7 +378,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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_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 @@
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 @@
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 @@
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_fixed_point blue_y)
{
#ifdef PNG_USE_LOCAL_ARRAYS
- PNG_CONST PNG_cHRM;
+ PNG_cHRM;
#endif
png_byte buf[32];
@@ -1059,7 +1059,7 @@
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 @@
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 @@
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_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_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_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 @@
int unit_type)
{
#ifdef PNG_USE_LOCAL_ARRAYS
- PNG_CONST PNG_oFFs;
+ PNG_oFFs;
#endif
png_byte buf[9];
@@ -1539,7 +1539,7 @@
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 @@
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_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 @@
int unit_type)
{
#ifdef PNG_USE_LOCAL_ARRAYS
- PNG_CONST PNG_pHYs;
+ PNG_pHYs;
#endif
png_byte buf[9];
@@ -1698,7 +1698,7 @@
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 9c69e7d..2b40518 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -169,7 +169,7 @@
# 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 bc95863..2715cfc 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 8cd9aac..dfeb362 100644
--- a/scripts/libpng.pc-configure.in
+++ b/scripts/libpng.pc-configure.in
@@ -5,6 +5,6 @@
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 9425e60..60fcb1b 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -5,6 +5,6 @@
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 b9486fe..a4ddadb 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 fe643f1..0f85109 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 3b285d5..84a78cc 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
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 67983b6..f8853b7 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 867f60b..d388b83 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -74,7 +74,7 @@
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 4bbed75..41532b9 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,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.dec b/scripts/makefile.dec
index e08d09a..349c0d2 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 597d088..3167da3 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 8292734..674f1b8 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 f685996..6e6c1fa 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,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.hpgcc b/scripts/makefile.hpgcc
index e27972c..c1dc010 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 3985bc4..bccbe19 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,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.linux b/scripts/makefile.linux
index cbfac33..792a51e 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 29b715d..ffba932 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -74,7 +74,7 @@
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 6bfff37..96a4384 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -14,7 +14,7 @@
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 9e61d7f..a864344 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -14,7 +14,7 @@
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 41a8576..cf2b606 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 25b4c20..12b8fbd 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,7 +8,7 @@
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 50498b0..e35421a 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 46cafd4..e5ca2b0 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 645b312..c1e57f6 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 04f631c..3b62b85 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 d371ce6..54761ed 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 cc36fc8..e5235a4 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 611a8c3..dc8a21d 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 b432f91..d59e106 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