summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2008-02-18 16:29:55 -0600
committerGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2011-09-03 12:25:17 -0500
commit80d4e25c9d20bc2fa713daacfbc998d1e28f8137 (patch)
treeecbf0fa7be296efc0bf1bdad006946f2e452ed95
parentbe5217de8cba08713a76cf3298d405b447bd00eb (diff)
downloadlibpng-80d4e25c9d20bc2fa713daacfbc998d1e28f8137.tar.gz
[libpng10] Imported from libpng-1.0.31.tarv1.0.31
-rw-r--r--ANNOUNCE97
-rw-r--r--CHANGES35
-rw-r--r--INSTALL16
-rw-r--r--KNOWNBUG2
-rw-r--r--LICENSE4
-rw-r--r--README29
-rw-r--r--Y2KINFO4
-rwxr-xr-xconfigure22
-rw-r--r--configure.ac4
-rw-r--r--libpng-1.0.31.txt (renamed from libpng-1.0.31rc01.txt)6
-rw-r--r--libpng.319
-rw-r--r--libpngpf.34
-rw-r--r--png.52
-rw-r--r--png.c6
-rw-r--r--png.h23
-rw-r--r--pngconf.h2
-rw-r--r--pngpread.c61
-rw-r--r--pngread.c40
-rw-r--r--pngrtran.c2
-rw-r--r--pngrutil.c8
-rw-r--r--pngset.c9
-rw-r--r--pngtest.c2
-rw-r--r--pngwrite.c42
-rw-r--r--scripts/CMakeLists.txt2
-rwxr-xr-xscripts/libpng-config-head.in2
-rw-r--r--scripts/libpng.pc-configure.in2
-rw-r--r--scripts/libpng.pc.in2
-rw-r--r--scripts/makefile.32sunu2
-rw-r--r--scripts/makefile.64sunu2
-rw-r--r--scripts/makefile.aix2
-rw-r--r--scripts/makefile.beos2
-rw-r--r--scripts/makefile.cygwin2
-rw-r--r--scripts/makefile.darwin2
-rw-r--r--scripts/makefile.dec2
-rw-r--r--scripts/makefile.elf2
-rw-r--r--scripts/makefile.gcmmx2
-rw-r--r--scripts/makefile.hp642
-rw-r--r--scripts/makefile.hpgcc2
-rw-r--r--scripts/makefile.hpux2
-rw-r--r--scripts/makefile.linux2
-rw-r--r--scripts/makefile.mingw2
-rw-r--r--scripts/makefile.ne12bsd2
-rw-r--r--scripts/makefile.netbsd2
-rw-r--r--scripts/makefile.nommx2
-rw-r--r--scripts/makefile.openbsd2
-rw-r--r--scripts/makefile.sco2
-rw-r--r--scripts/makefile.sggcc2
-rw-r--r--scripts/makefile.sgi2
-rw-r--r--scripts/makefile.so92
-rw-r--r--scripts/makefile.solaris2
-rw-r--r--scripts/makefile.solaris-x862
-rw-r--r--scripts/pngos2.def2
-rw-r--r--scripts/pngw32.def2
53 files changed, 269 insertions, 230 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index 5cc7e7d92..27eabfcdc 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,94 +1,67 @@
-Libpng 1.0.31rc01 - January 17, 2008
+Libpng 1.0.31 - February 18, 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.
+This is a public release of libpng, intended for use in production codes.
Files available for download:
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
- libpng-1.0.31rc01.tar.gz
- libpng-1.0.31rc01.tar.bz2
+ libpng-1.0.31.tar.gz
+ libpng-1.0.31.tar.lzma
+ (Get the lzma codec from <http://tukaani.org/lzma>).
+ libpng-1.0.31.tar.bz2
Source files with LF line endings (for Unix/Linux) without the
"configure" script
- libpng-1.0.31rc01-no-config.tar.gz
- libpng-1.0.31rc01-no-config.tar.bz2
+ libpng-1.0.31-no-config.tar.gz
+ libpng-1.0.31-no-config.tar.lzma
+ libpng-1.0.31-no-config.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
- lp1031r01.zip
- lp1031r01.tar.bz2
+ lpng1031.zip
+ lpng1031.7z
+ lpng1031.tar.bz2
Project files
- libpng-1.0.31rc01-project-netware.zip
- libpng-1.0.31rc01-project-wince.zip
+ libpng-1.0.31-project-netware.zip
+ libpng-1.0.31-project-wince.zip
Other information:
- libpng-1.0.31rc01-README.txt
- libpng-1.0.31rc01-KNOWNBUGS.txt
- libpng-1.0.31rc01-LICENSE.txt
- libpng-1.0.31rc01-Y2K-compliance.txt
+ libpng-1.0.31-README.txt
+ libpng-1.0.31-KNOWNBUGS.txt
+ libpng-1.0.31-LICENSE.txt
+ libpng-1.0.31-Y2K-compliance.txt
Changes since the last public release (1.0.30):
-version 1.2.23beta01 [October 15, 2007]
- Reduced number of invocations of png_strlen() in pngset.c.
- Changed [azAZ09_] to [_abcde...89] in Makefile.am for better localization.
+version 1.0.31 [February 18, 2008]
-version 1.2.23beta02 [October 16, 2007]
- Eliminated png_strncpy() and png_strcpy() (Pierre Poissinger)
- Changed $AN to $(AN) in Makefile.am.
-
-version 1.2.23beta03 [October 16, 2007]
- Fixed off-by-one error in pngset.c
- Restore statement to set last character of buffer to \0 in pngerror.c
-
-version 1.2.23beta04 [October 23, 2007]
- Reject attempt to set all-zero cHRM values.
-
-version 1.2.23beta05 [October 26, 2007]
- Add missing quotes in projects/visualc6, lost in version 1.2.20rc3
-
-version 1.2.24beta01 [November 19, 2007]
- Moved misplaced test for malloc failure in png_set_sPLT(). This bug was
- introduced in libpng-1.2.20beta01.
- Ifdef out avg_row etc from png.h and pngwrite.c when PNG_NO_WRITE_FILTER
- Do not use png_ptr->free_fn and png_ptr->mem_fn in png_destroy_read_struct()
- when png_ptr is NULL (Marshall Clow).
- Updated handling of symbol prefixes in Makefile.am and configure.ac (Mike
- Frysinger).
-
-version 1.2.24beta02 [November 30, 2007]
- Removed a useless test and fixed incorrect test in png_set_cHRM_fixed()
- (David Hill).
-
-version 1.2.24rc01 [December 7, 2007]
- No changes.
-
-version 1.2.24 [December 14, 2007]]
- Make sure not to redefine _BSD_SOURCE in pngconf.h
- Revised gather.sh and makefile.std in contrib/pngminim to avoid compiling
- unused files.
-
-version 1.2.25beta01 [January 7, 2008]
- Fixed bug with unknown chunk handling, introduced in version 1.2.17rc2
-
-version 1.2.25beta02 [January 10, 2008]
+ Fixed bug with unknown chunk handling, introduced in version 1.2.17
Prevent gamma from being applied twice.
-
-version 1.2.25rc01 [January 17, 2008]
- No changes.
-
+ Fixed some continue-after-malloc-failure errors in pngset.c (David Hill)
+ Check for info_ptr == NULL in png_read_info() and png_process_data().
+ Check for possible use of NULL user_png_ver[] in png_create_read_struct().
+ Fix overflow of "msg" in png_decompres_chunk().
+ Added libpng-1.2.25.tar.lzma to distribution. Get the lzma codec
+ from <http://tukaani.org/lzma>.
+ Added lpng1225.7z to distribution. Get the 7-zip decoder from
+ from <http://www.7-zip.org>.
+ Fixed some broken links in the README file.
+ Refactored png_read_push_finish_row() slightly, trying to satisfy Coverity.
+ Fixed potential NULL dereference of png_ptr in png_destroy_write_struct();
+ clarified potential NULL dereference of png_ptr in png_destroy_read_struct();
+ fixed potential NULL dereference of info_ptr in png_handle_bKGD();
+ fixed potential NULL dereference of user_png_ver[] in
+ png_create_write_struct_2(). (Coverity)
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
-
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net
diff --git a/CHANGES b/CHANGES
index f53a7ffa1..0b1bdc343 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2030,6 +2030,41 @@ version 1.2.25beta02 [January 10, 2008]
version 1.2.25rc01 [January 17, 2008]
No changes.
+version 1.2.25beta03 [January 22, 2008]
+ Fixed some continue-after-malloc-failure errors in pngset.c (David Hill)
+ Check for info_ptr == NULL in png_read_info() and png_process_data().
+ Check for possible use of NULL user_png_ver[] in png_create_read_struct().
+ Change "if (swidth == NULL)" to "if (sheight == NULL)" in png_handle_sCAL
+ (bug introduced in libpng-1.2.4/1.0.13).
+ Return from png_destroy_read_struct() if png_ptr_ptr is NULL.
+ Fix overflow of "msg" in png_decompres_chunk().
+
+version 1.2.25beta04 [January 26, 2008]
+ Work around Coverity bug report by slightly refactoring
+ png_read_push_finish_row()
+
+version 1.2.25beta05 [January 31, 2008]
+ Added libpng-1.2.25beta05.tar.lzma to distribution. Get the lzma codec
+ from <http://tukaani.org/lzma>.
+ Added lp1225b05.7z to distribution. Get the 7-zip decoder from
+ from <http://www.7-zip.org>.
+ Fixed some broken links in the README file.
+
+version 1.2.25beta06 [February 6, 2008]
+ Refactored png_read_push_finish_row() again, trying to satisfy Coverity.
+ Fixed potential NULL dereference of png_ptr in png_destroy_write_struct();
+ clarified potential NULL dereference of png_ptr in png_destroy_read_struct();
+ fixed potential NULL dereference of info_ptr in png_handle_bKGD();
+ fixed potential NULL dereference of user_png_ver[] in
+ png_create_write_struct_2(). (Coverity)
+
+version 1.2.25rc02 [February 10, 2008]
+ Reset png_ptr->pass in png_read_push_finish_row() before break.
+ Changed "pass" from png_byte to int.
+
+version 1.2.25 and 1.0.31 [February 18, 2008]
+ No changes.
+
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 49c17eedb..9f1097e1b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-Installing libpng version 1.0.31rc01 - January 17, 2008
+Installing libpng version 1.0.31 - February 18, 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.0.31rc01" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.0.31" or "lpng109" and "zlib-1.2.1"
or "zlib121") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
@@ -101,9 +101,9 @@ include
CMakeLists.txt => "cmake" script
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
- gcc, creates libpng10.so.0.1.0.31rc01)
+ gcc, creates libpng10.so.0.1.0.31)
makefile.linux => Linux/ELF makefile
- (gcc, creates libpng10.so.0.1.0.31rc01)
+ (gcc, creates libpng10.so.0.1.0.31)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with
ansi2knr (Requires ansi2knr.c from
@@ -125,14 +125,14 @@ include
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc,
- creates libpng10.so.0.1.0.31rc01)
+ creates libpng10.so.0.1.0.31)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc,
- creates libpng10.so.0.1.0.31rc01)
+ creates libpng10.so.0.1.0.31)
makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc,
- creates libpng10.so.0.1.0.31rc01)
+ creates libpng10.so.0.1.0.31)
makefile.so9 => Solaris 9 makefile (gcc,
- creates libpng10.so.0.1.0.31rc01)
+ creates libpng10.so.0.1.0.31)
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 f500c3366..420d1032e 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
-Known bugs in libpng version 1.0.31rc01
+Known bugs in libpng version 1.0.31
1. February 23, 2006: The custom makefiles don't build libpng with -lz.
diff --git a/LICENSE b/LICENSE
index f4d387d3c..e51ddaf69 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.0.31rc01, January 17, 2008, are
+libpng versions 1.2.6, August 15, 2004, through 1.0.31, February 18, 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
-January 17, 2008
+February 18, 2008
diff --git a/README b/README
index 3a2ffcbfa..09b7bd26c 100644
--- a/README
+++ b/README
@@ -1,11 +1,12 @@
-README for libpng version 1.0.31rc01 - January 17, 2008 (shared library 10.0)
+README for libpng version 1.0.31 - February 18, 2008 (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.
-Libpng comes in several distribution formats. Get libpng-*.tar.gz
-or libpng-*.tar.bz2 if you want UNIX-style line endings in the text
-files, or lpng*.zip if you want DOS-style line endings.
+Libpng comes in several distribution formats. Get libpng-*.tar.gz,
+libpng-*.tar.lzma, or libpng-*.tar.bz2 if you want UNIX-style line
+endings in the text files, or lpng*.7z lpng*.zip if you want DOS-style
+line endings.
Version 0.89 was the first official release of libpng. Don't let the
fact that it's the first release fool you. The libpng library has been in
@@ -77,12 +78,12 @@ compression library that is useful for more things than just PNG files.
You can use zlib as a drop-in replacement for fread() and fwrite() if
you are so inclined.
-zlib should be available at the same place that libpng is, or at.
-ftp://ftp.info-zip.org/pub/infozip/zlib
+zlib should be available at the same place that libpng is, or at
+ftp://ftp.simplesystems.org/pub/png/src/
You may also want a copy of the PNG specification. It is available
as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
-these at http://www.libpng.org/pub/png/documents/
+these at http://www.libpng.org/pub/png/pngdocs.html
This code is currently being archived at libpng.sf.net in the
[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
@@ -190,11 +191,11 @@ Files in this distribution:
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
- gcc, creates libpng10.so.0.1.0.31rc01)
+ gcc, creates libpng10.so.0.1.0.31)
makefile.linux => Linux/ELF makefile
- (gcc, creates libpng10.so.0.1.0.31rc01)
+ (gcc, creates libpng10.so.0.1.0.31)
makefile.gcmmx => Linux/ELF makefile
- (gcc, creates libpng10.so.0.1.0.31rc01,
+ (gcc, creates libpng10.so.0.1.0.31,
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 +217,12 @@ Files in this distribution:
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics
- (gcc, creates libpng10.so.0.1.0.31rc01)
+ (gcc, creates libpng10.so.0.1.0.31)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
- (gcc, creates libpng10.so.0.1.0.31rc01)
+ (gcc, creates libpng10.so.0.1.0.31)
makefile.so9 => Solaris 9 makefile
- (gcc, creates libpng10.so.0.1.0.31rc01)
+ (gcc, creates libpng10.so.0.1.0.31)
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
@@ -256,7 +257,7 @@ Good luck, and happy coding.
-Andreas Eric Dilger (former maintainer, 1996-1997)
Internet: adilger at enel.ucalgary.ca
- Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
+ Web: http://members.shaw.ca/adilger/
-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
(formerly of Group 42, Inc)
diff --git a/Y2KINFO b/Y2KINFO
index 42cd35e8f..2c41ec2eb 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
Y2K compliance in libpng:
=========================
- January 17, 2008
+ February 18, 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.0.31rc01 are Y2K compliant. It is my belief that earlier
+ upward through 1.0.31 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 0c276dfe6..2432ff58e 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.31rc01.
+# Generated by GNU Autoconf 2.61 for libpng 1.0.31.
#
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
#
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='libpng'
PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.0.31rc01'
-PACKAGE_STRING='libpng 1.0.31rc01'
+PACKAGE_VERSION='1.0.31'
+PACKAGE_STRING='libpng 1.0.31'
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
ac_unique_file="pngget.c"
@@ -1406,7 +1406,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libpng 1.0.31rc01 to adapt to many kinds of systems.
+\`configure' configures libpng 1.0.31 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1476,7 +1476,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libpng 1.0.31rc01:";;
+ short | recursive ) echo "Configuration of libpng 1.0.31:";;
esac
cat <<\_ACEOF
@@ -1586,7 +1586,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libpng configure 1.0.31rc01
+libpng configure 1.0.31
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1600,7 +1600,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libpng $as_me 1.0.31rc01, which was
+It was created by libpng $as_me 1.0.31, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2270,7 +2270,7 @@ fi
# Define the identity of the package.
PACKAGE='libpng'
- VERSION='1.0.31rc01'
+ VERSION='1.0.31'
cat >>confdefs.h <<_ACEOF
@@ -2441,7 +2441,7 @@ fi
-PNGLIB_VERSION=1.0.31rc01
+PNGLIB_VERSION=1.0.31
PNGLIB_MAJOR=1
PNGLIB_MINOR=0
PNGLIB_RELEASE=31
@@ -21295,7 +21295,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libpng $as_me 1.0.31rc01, which was
+This file was extended by libpng $as_me 1.0.31, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21348,7 +21348,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-libpng config.status 1.0.31rc01
+libpng config.status 1.0.31
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 244412173..9efba7349 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@ AC_PREREQ(2.59)
dnl Version number stuff here:
-AC_INIT([libpng], [1.0.31rc01], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.0.31], [png-mng-implement@lists.sourceforge.net])
AM_INIT_AUTOMAKE
dnl stop configure from automagically running automake
AM_MAINTAINER_MODE
-PNGLIB_VERSION=1.0.31rc01
+PNGLIB_VERSION=1.0.31
PNGLIB_MAJOR=1
PNGLIB_MINOR=0
PNGLIB_RELEASE=31
diff --git a/libpng-1.0.31rc01.txt b/libpng-1.0.31.txt
index e974d24d6..94ffedf78 100644
--- a/libpng-1.0.31rc01.txt
+++ b/libpng-1.0.31.txt
@@ -1,6 +1,6 @@
libpng.txt - A description on how to use and modify libpng
- libpng version 1.0.31rc01 - January 17, 2008
+ libpng version 1.0.31 - February 18, 2008
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2008 Glenn Randers-Pehrson
@@ -2760,13 +2760,13 @@ application:
VIII. Y2K Compliance in libpng
-January 17, 2008
+February 18, 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.0.31rc01 are Y2K compliant. It is my belief that earlier
+upward through 1.0.31 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 68c77776c..8f016a713 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "January 17, 2008"
+.TH LIBPNG 3 "February 18, 2008"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.31rc01
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.31
.SH SYNOPSIS
\fB
#include <png.h>\fP
@@ -410,7 +410,7 @@ Following is a copy of the libpng.txt file that accompanies libpng.
.SH LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng
- libpng version 1.0.31rc01 - January 17, 2008
+ libpng version 1.0.31 - February 18, 2008
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2008 Glenn Randers-Pehrson
@@ -3170,13 +3170,13 @@ application:
.SH VIII. Y2K Compliance in libpng
-January 17, 2008
+February 18, 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.0.31rc01 are Y2K compliant. It is my belief that earlier
+upward through 1.0.31 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
@@ -3390,7 +3390,8 @@ the first widely used release:
1.2.24beta01-02 13 10224 12.so.0.24[.0]
1.2.24rc01 13 10224 12.so.0.24[.0]
1.2.24 13 10224 12.so.0.24[.0]
- 1.2.25beta01-02 13 10225 12.so.0.25[.0]
+ 1.2.25beta01-06 13 10225 12.so.0.25[.0]
+ 1.2.25rc01-02 13 10225 12.so.0.25[.0]
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
@@ -3446,7 +3447,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.0.31rc01 - January 17, 2008:
+Libpng version 1.0.31 - February 18, 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).
@@ -3467,7 +3468,7 @@ included in the libpng distribution, the latter shall prevail.)
If you modify libpng you may insert additional notices immediately following
this sentence.
-libpng versions 1.2.6, August 15, 2004, through 1.0.31rc01, January 17, 2008, are
+libpng versions 1.2.6, August 15, 2004, through 1.0.31, February 18, 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
@@ -3566,7 +3567,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
-January 17, 2008
+February 18, 2008
.\" end of man page
diff --git a/libpngpf.3 b/libpngpf.3
index 7d6737cd7..cf48d341c 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "January 17, 2008"
+.TH LIBPNGPF 3 "February 18, 2008"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.31rc01
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.31
(private functions)
.SH SYNOPSIS
\fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 78eb13032..6b5aa3a03 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "January 17, 2008"
+.TH PNG 5 "February 18, 2008"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
diff --git a/png.c b/png.c
index 5f26ceb7f..cc90309bf 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_31rc01 Your_png_h_is_not_version_1_0_31rc01;
+typedef version_1_0_31 Your_png_h_is_not_version_1_0_31;
/* Version information for C files. This had better match the version
* string defined in png.h. */
@@ -693,8 +693,8 @@ png_charp PNGAPI
png_get_copyright(png_structp png_ptr)
{
png_ptr = png_ptr; /* silence compiler warning about unused png_ptr */
- return ((png_charp) "\n libpng version 1.0.31rc01 - January 17, 2008\n\
- Copyright (c) 1998-2007 Glenn Randers-Pehrson\n\
+ return ((png_charp) "\n libpng version 1.0.31 - February 18, 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 e3573e338..503370741 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.0.31rc01 - January 17, 2008
+ * libpng version 1.0.31 - February 18, 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.)
@@ -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.31rc01 - January 17, 2008: Glenn
+ * libpng versions 0.97, January 1998, through 1.0.31 - February 18, 2008: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -175,7 +175,8 @@
* 1.2.24beta01-02 13 10224 12.so.0.24[.0]
* 1.2.24rc01 13 10224 12.so.0.24[.0]
* 1.2.24 13 10224 12.so.0.24[.0]
- * 1.2.25beta01-02 13 10225 12.so.0.25[.0]
+ * 1.2.25beta01-06 13 10225 12.so.0.25[.0]
+ * 1.2.25rc01-02 13 10225 12.so.0.25[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@@ -205,7 +206,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.31rc01, January 17, 2008, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.0.31, February 18, 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:
@@ -317,13 +318,13 @@
* Y2K compliance in libpng:
* =========================
*
- * January 17, 2008
+ * February 18, 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.0.31rc01 are Y2K compliant. It is my belief that earlier
+ * upward through 1.0.31 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
@@ -379,9 +380,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.31rc01"
+#define PNG_LIBPNG_VER_STRING "1.0.31"
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.0.31rc01 - January 17, 2008\n"
+ " libpng version 1.0.31 - February 18, 2008\n"
#define PNG_LIBPNG_VER_SONUM 0
#define PNG_LIBPNG_VER_DLLNUM 10
@@ -393,7 +394,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 0
/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
@@ -410,7 +411,7 @@
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
PNG_LIBPNG_BUILD_PRIVATE */
-#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_RC
+#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
@@ -1431,7 +1432,7 @@ struct png_struct_def
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
-typedef png_structp version_1_0_31rc01;
+typedef png_structp version_1_0_31;
typedef png_struct FAR * FAR * png_structpp;
diff --git a/pngconf.h b/pngconf.h
index 85dcf3527..ccf8fb0a9 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng version 1.0.31rc01 - January 17, 2008
+ * libpng version 1.0.31 - February 18, 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 d69239086..a02cdfcb2 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.25 [January 17, 2008]
+ * Last changed in libpng 1.2.25 [February 18, 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)
@@ -28,7 +28,7 @@ void PNGAPI
png_process_data(png_structp png_ptr, png_infop info_ptr,
png_bytep buffer, png_size_t buffer_size)
{
- if(png_ptr == NULL) return;
+ if(png_ptr == NULL || info_ptr == NULL) return;
png_push_restore_buffer(png_ptr, buffer, buffer_size);
while (png_ptr->buffer_size)
@@ -1018,32 +1018,37 @@ png_read_push_finish_row(png_structp png_ptr)
png_ptr->rowbytes + 1);
do
{
- png_ptr->pass++;
- if ((png_ptr->pass == 1 && png_ptr->width < 5) ||
- (png_ptr->pass == 3 && png_ptr->width < 3) ||
- (png_ptr->pass == 5 && png_ptr->width < 2))
- png_ptr->pass++;
-
- if (png_ptr->pass > 7)
- png_ptr->pass--;
- if (png_ptr->pass >= 7)
- break;
-
- png_ptr->iwidth = (png_ptr->width +
- png_pass_inc[png_ptr->pass] - 1 -
- png_pass_start[png_ptr->pass]) /
- png_pass_inc[png_ptr->pass];
-
- png_ptr->irowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,
- png_ptr->iwidth) + 1;
-
- if (png_ptr->transformations & PNG_INTERLACE)
- break;
-
- png_ptr->num_rows = (png_ptr->height +
- png_pass_yinc[png_ptr->pass] - 1 -
- png_pass_ystart[png_ptr->pass]) /
- png_pass_yinc[png_ptr->pass];
+ int pass;
+ pass = png_ptr->pass;
+ pass++;
+ if ((pass == 1 && png_ptr->width < 5) ||
+ (pass == 3 && png_ptr->width < 3) ||
+ (pass == 5 && png_ptr->width < 2))
+ pass++;
+
+ if (pass > 7)
+ pass--;
+ png_ptr->pass = (png_byte) pass;
+ if (pass < 7)
+ {
+ png_ptr->iwidth = (png_ptr->width +
+ png_pass_inc[pass] - 1 -
+ png_pass_start[pass]) /
+ png_pass_inc[pass];
+
+ png_ptr->irowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,
+ png_ptr->iwidth) + 1;
+
+ if (png_ptr->transformations & PNG_INTERLACE)
+ break;
+
+ png_ptr->num_rows = (png_ptr->height +
+ png_pass_yinc[pass] - 1 -
+ png_pass_ystart[pass]) /
+ png_pass_yinc[pass];
+ }
+ else
+ break;
} while (png_ptr->iwidth == 0 || png_ptr->num_rows == 0);
}
diff --git a/pngread.c b/pngread.c
index 5df692d17..bd8bcd98a 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,9 +1,9 @@
/* pngread.c - read a PNG file
*
- * Last changed in libpng 1.2.24 [December 14, 2007]
+ * Last changed in libpng 1.2.25 [February 18, 2008]
* For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2007 Glenn Randers-Pehrson
+ * 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.)
*
@@ -89,12 +89,18 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
png_set_error_fn(png_ptr, error_ptr, error_fn, warn_fn);
- i=0;
- do
+ if(user_png_ver)
{
- if(user_png_ver[i] != png_libpng_ver[i])
+ i=0;
+ do
+ {
+ if(user_png_ver[i] != png_libpng_ver[i])
+ png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
+ } while (png_libpng_ver[i++]);
+ }
+ else
png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
- } while (png_libpng_ver[i++]);
+
if (png_ptr->flags & PNG_FLAG_LIBRARY_MISMATCH)
{
@@ -318,7 +324,7 @@ png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
void PNGAPI
png_read_info(png_structp png_ptr, png_infop info_ptr)
{
- if(png_ptr == NULL) return;
+ if(png_ptr == NULL || info_ptr == NULL) return;
png_debug(1, "in png_read_info\n");
/* If we haven't checked all of the PNG signature bytes, do so now. */
if (png_ptr->sig_bytes < 8)
@@ -1107,11 +1113,14 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr,
if (png_ptr_ptr != NULL)
{
png_ptr = *png_ptr_ptr;
+ }
+ if (png_ptr == NULL)
+ return;
+
#ifdef PNG_USER_MEM_SUPPORTED
- free_fn = png_ptr->free_fn;
- mem_ptr = png_ptr->mem_ptr;
+ free_fn = png_ptr->free_fn;
+ mem_ptr = png_ptr->mem_ptr;
#endif
- }
if (info_ptr_ptr != NULL)
info_ptr = *info_ptr_ptr;
@@ -1150,16 +1159,13 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr,
*end_info_ptr_ptr = NULL;
}
- if (png_ptr != NULL)
- {
#ifdef PNG_USER_MEM_SUPPORTED
- png_destroy_struct_2((png_voidp)png_ptr, (png_free_ptr)free_fn,
- (png_voidp)mem_ptr);
+ png_destroy_struct_2((png_voidp)png_ptr, (png_free_ptr)free_fn,
+ (png_voidp)mem_ptr);
#else
- png_destroy_struct((png_voidp)png_ptr);
+ png_destroy_struct((png_voidp)png_ptr);
#endif
- *png_ptr_ptr = NULL;
- }
+ *png_ptr_ptr = NULL;
}
/* free all memory used by the read (old method) */
diff --git a/pngrtran.c b/pngrtran.c
index 7f62274b8..c020b51b3 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.25 [January 17, 2008]
+ * Last changed in libpng 1.2.25 [February 18, 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 0269f8247..990e69802 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.25 [January 17, 2008]
+ * Last changed in libpng 1.2.25 [February 18, 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)
@@ -230,7 +230,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
text_size = (png_size_t)(chunklength - (text - chunkdata) - 1);
text_size = png_sizeof(msg) > text_size ? text_size :
png_sizeof(msg);
- png_memcpy(text + prefix_size, msg, text_size + 1);
+ png_memcpy(text + prefix_size, msg, text_size);
break;
}
if (!png_ptr->zstream.avail_out || ret == Z_STREAM_END)
@@ -1393,7 +1393,7 @@ png_handle_bKGD(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
{
png_ptr->background.index = buf[0];
- if(info_ptr->num_palette)
+ if (info_ptr && info_ptr->num_palette)
{
if(buf[0] > info_ptr->num_palette)
{
@@ -1792,7 +1792,7 @@ png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
#else
#ifdef PNG_FIXED_POINT_SUPPORTED
sheight = (png_charp)png_malloc_warn(png_ptr, png_strlen(ep) + 1);
- if (swidth == NULL)
+ if (sheight == NULL)
{
png_warning(png_ptr, "Out of memory while processing sCAL chunk height");
return;
diff --git a/pngset.c b/pngset.c
index f8f9b7e3b..9301dd327 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,9 +1,9 @@
/* pngset.c - storage of image information into info struct
*
- * Last changed in libpng 1.2.24 [December 14, 2007]
+ * Last changed in libpng 1.2.25 [February 18, 2008]
* For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2007 Glenn Randers-Pehrson
+ * 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.)
*
@@ -488,6 +488,7 @@ png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr,
{
png_warning(png_ptr,
"Memory allocation failed while processing sCAL.");
+ return;
}
png_memcpy(info_ptr->scal_s_width, swidth, (png_size_t)length);
@@ -499,9 +500,9 @@ png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr,
png_free (png_ptr, info_ptr->scal_s_width);
png_warning(png_ptr,
"Memory allocation failed while processing sCAL.");
+ return;
}
png_memcpy(info_ptr->scal_s_height, sheight, (png_size_t)length);
-
info_ptr->valid |= PNG_INFO_sCAL;
#ifdef PNG_FREE_ME_SUPPORTED
info_ptr->free_me |= PNG_FREE_SCAL;
@@ -983,6 +984,7 @@ png_set_sPLT(png_structp png_ptr,
{
png_warning(png_ptr,
"Out of memory while processing sPLT chunk");
+ continue;
}
png_memcpy(to->name, from->name, length);
to->entries = (png_sPLT_entryp)png_malloc_warn(png_ptr,
@@ -993,6 +995,7 @@ png_set_sPLT(png_structp png_ptr,
"Out of memory while processing sPLT chunk");
png_free(png_ptr,to->name);
to->name = NULL;
+ continue;
}
png_memcpy(to->entries, from->entries,
from->nentries * png_sizeof(png_sPLT_entry));
diff --git a/pngtest.c b/pngtest.c
index 0d5c5a705..45157b3ec 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1553,4 +1553,4 @@ main(int argc, char *argv[])
}
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_31rc01 your_png_h_is_not_version_1_0_31rc01;
+typedef version_1_0_31 your_png_h_is_not_version_1_0_31;
diff --git a/pngwrite.c b/pngwrite.c
index f088a25ac..8b01025f5 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,9 +1,9 @@
/* pngwrite.c - general routines to write a PNG file
*
- * Last changed in libpng 1.2.24 [December 14, 2007]
+ * Last changed in libpng 1.2.25 [February 18, 2008]
* For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2007 Glenn Randers-Pehrson
+ * 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.)
*/
@@ -482,12 +482,15 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
#endif /* PNG_USER_MEM_SUPPORTED */
png_set_error_fn(png_ptr, error_ptr, error_fn, warn_fn);
- i=0;
- do
+ if(user_png_ver)
{
- if(user_png_ver[i] != png_libpng_ver[i])
- png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
- } while (png_libpng_ver[i++]);
+ i=0;
+ do
+ {
+ if(user_png_ver[i] != png_libpng_ver[i])
+ png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
+ } while (png_libpng_ver[i++]);
+ }
if (png_ptr->flags & PNG_FLAG_LIBRARY_MISMATCH)
{
@@ -1000,21 +1003,32 @@ png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)
#endif
}
+#ifdef PNG_USER_MEM_SUPPORTED
+ if (png_ptr != NULL)
+ {
+ free_fn = png_ptr->free_fn;
+ mem_ptr = png_ptr->mem_ptr;
+ }
+#endif
+
if (info_ptr_ptr != NULL)
info_ptr = *info_ptr_ptr;
if (info_ptr != NULL)
{
- png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
+ if (png_ptr != NULL)
+ {
+ png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
- if (png_ptr->num_chunk_list)
- {
- png_free(png_ptr, png_ptr->chunk_list);
- png_ptr->chunk_list=NULL;
- png_ptr->num_chunk_list=0;
- }
+ if (png_ptr->num_chunk_list)
+ {
+ png_free(png_ptr, png_ptr->chunk_list);
+ png_ptr->chunk_list=NULL;
+ png_ptr->num_chunk_list=0;
+ }
#endif
+ }
#ifdef PNG_USER_MEM_SUPPORTED
png_destroy_struct_2((png_voidp)info_ptr, (png_free_ptr)free_fn,
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 60f62194f..35d580f15 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -169,7 +169,7 @@ configure_file(${PNG_SOURCE_DIR}/scripts/libpng-config.in
# SET UP LINKS
set_target_properties(${PNG_LIB_NAME} PROPERTIES
-# VERSION 0.${PNGLIB_RELEASE}.1.0.31rc01
+# VERSION 0.${PNGLIB_RELEASE}.1.0.31
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 95ffcfabf..4b5ff00c2 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
# Modeled after libxml-config.
-version=1.0.31rc01
+version=1.0.31
prefix=""
libdir=""
libs=""
diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in
index 1fd355742..ad480b517 100644
--- a/scripts/libpng.pc-configure.in
+++ b/scripts/libpng.pc-configure.in
@@ -5,6 +5,6 @@ includedir=@includedir@/libpng10
Name: libpng
Description: Loads and saves PNG files
-Version: 1.0.31rc01
+Version: 1.0.31
Libs: -L${libdir} -lpng10
Cflags: -I${includedir} @LIBPNG_NO_MMX@
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 3fec10afb..4fbf9186a 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -5,6 +5,6 @@ includedir=@includedir@/libpng10
Name: libpng
Description: Loads and saves PNG files
-Version: 1.0.31rc01
+Version: 1.0.31
Libs: -L${libdir} -lpng10
Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index f4e02a486..0c85b8ee0 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index fddc99c69..c8fcbd247 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index ab1404d76..7b36acfe9 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@ LN_SF = ln -f -s
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 91c5319ae..ec88023e8 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index fe9e6e640..2fbb508bf 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME = libpng10
PNGMAJ = 0
CYGDLL = 10
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index d34a74d45..8d08a2718 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@ ZLIBINC=../zlib
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index f6c2f2ff8..0355ee7b2 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
# Library name:
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index 4f42fba52..0b7e30beb 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 8a01042ff..ca3b979c3 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -14,7 +14,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index f552f0ea7..31387d5b3 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 62719f0e8..a24079e18 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 444bc2be7..53c75c76c 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index bfcd5e6f3..ee31bb6f1 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 296fd845e..46a6f47fc 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME = libpng10
PNGMAJ = 0
MINGDLL = 10
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=libpng$(MINGDLL).dll
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 5bbd45fe3..89b0b9c81 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng10
LIB= png12
SHLIB_MAJOR= 0
-SHLIB_MINOR= 1.0.31rc01
+SHLIB_MINOR= 1.0.31
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 6ef2181e1..ad0409f86 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng
LIB= png
SHLIB_MAJOR= 3
-SHLIB_MINOR= 1.0.31rc01
+SHLIB_MINOR= 1.0.31
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 9b9c4fa0a..144eacbba 100644
--- a/scripts/makefile.nommx
+++ b/scripts/makefile.nommx
@@ -7,7 +7,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 2bedee7b5..42caf0a0b 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,7 +8,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 0
-SHLIB_MINOR= 1.0.31rc01
+SHLIB_MINOR= 1.0.31
LIB= png
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 2fa525819..29893cde8 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 67f8a9d43..83527da24 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index c5399b422..5a1f20228 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index f431ce3a4..8606985cd 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
# Library name:
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 79723be80..e48f6b6bc 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86
index 5829be685..2315e44e9 100644
--- a/scripts/makefile.solaris-x86
+++ b/scripts/makefile.solaris-x86
@@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
-PNGMIN = 1.0.31rc01
+PNGMIN = 1.0.31
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index d5d93a50c..9cf0690a6 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
-; Version 1.0.31rc01
+; Version 1.0.31
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index e31100654..eb18aa2bf 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
LIBRARY
EXPORTS
-;Version 1.0.31rc01
+;Version 1.0.31
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3