[libpng10] Imported from libpng-1.0.38rc05.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index a9b5f12..0d43862 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.0.38rc04 - July 22, 2008
+Libpng 1.0.38rc05 - July 25, 2008
 
 This is not intended to be a public release.  It will be replaced
 within a few weeks by a public version or by another test version.
@@ -9,37 +9,37 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   libpng-1.0.38rc04.tar.gz
-   libpng-1.0.38rc04.tar.lzma
+   libpng-1.0.38rc05.tar.gz
+   libpng-1.0.38rc05.tar.lzma
      (Get the lzma codec from <http://tukaani.org/lzma>).
-   libpng-1.0.38rc04.tar.bz2
+   libpng-1.0.38rc05.tar.bz2
 
 Source files with LF line endings (for Unix/Linux) without the
 "configure" script
 
-   libpng-1.0.38rc04-no-config.tar.gz
-   libpng-1.0.38rc04-no-config.tar.lzma
-   libpng-1.0.38rc04-no-config.tar.bz2
+   libpng-1.0.38rc05-no-config.tar.gz
+   libpng-1.0.38rc05-no-config.tar.lzma
+   libpng-1.0.38rc05-no-config.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1038r04.zip
-   lp1038r04.7z
-   lp1038r04.tar.bz2
+   lp1038r05.zip
+   lp1038r05.7z
+   lp1038r05.tar.bz2
 
 Project files
 
-   libpng-1.0.38rc04-project-netware.zip
-   libpng-1.0.38rc04-project-wince.zip
+   libpng-1.0.38rc05-project-netware.zip
+   libpng-1.0.38rc05-project-wince.zip
 
 Other information:
 
-   libpng-1.0.38rc04-README.txt
-   libpng-1.0.38rc04-KNOWNBUGS.txt
-   libpng-1.0.38rc04-LICENSE.txt
-   libpng-1.0.38rc04-Y2K-compliance.txt
-   libpng-1.0.38rc04-[previous version]-diff.txt
+   libpng-1.0.38rc05-README.txt
+   libpng-1.0.38rc05-KNOWNBUGS.txt
+   libpng-1.0.38rc05-LICENSE.txt
+   libpng-1.0.38rc05-Y2K-compliance.txt
+   libpng-1.0.38rc05-[previous version]-diff.txt
 
 Changes since the last public release (1.0.37):
 
@@ -79,18 +79,19 @@
   Added demo of decoding vpAg and sTER chunks to pngtest.c, from 1.4.0beta19.
   Changed PNGMAJ from 0 to 12 in makefile.darwin, which does not like 0.
   Added new private function png_read_chunk_header() from 1.4.0beta19.
-  Merged reading of chunk length and chunk type into a single 8-byte read.
-  Merged writing of chunk length and chunk type into a single 8-byte write.
+  Merge reading of chunk length and chunk type into a single 8-byte read.
+  Merge writing of chunk length and chunk type into a single 8-byte write.
 
 version 1.2.30beta04 [July 10, 2008]
   Merged more cosmetic whitespace changes from libpng-1.4.0beta19.
 
-version 1.0.38rc01, 1.2.30rc01 [July 17, 2008]
+version 1.0.38rc01, 1.2.30rc01 [July 25, 2008]
   No changes.
 
 version 1.0.38rc02, 1.2.30rc02 [July 21, 2008]
   Moved local array "chunkdata" from pngrutil.c to the png_struct, so
-    it will be freed by png_read_destroy() in case of a read error.
+    it will be freed by png_read_destroy() in case of a read error (Kurt
+    Christensen).
 
 version 1.0.38rc03, 1.2.30rc03 [July 21, 2008]
   Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
@@ -99,6 +100,13 @@
   Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
     png_decompress_chunk().
 
+version 1.0.38rc05, 1.2.30rc05 [July 25, 2008]
+  Changed all remaining "chunkdata" to "png_ptr->chunkdata" in
+    png_decompress_chunk() and remove chunkdata from parameter list.
+  Put a call to png_check_chunk_name() in png_read_chunk_header().
+  Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
+  Removed two calls to png_check_chunk_name() occuring later in the process.
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 
 (subscription required; visit 
diff --git a/CHANGES b/CHANGES
index 585a614..6bf0345 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2169,26 +2169,34 @@
   Added demo of decoding vpAg and sTER chunks to pngtest.c, from 1.4.0beta19.
   Changed PNGMAJ from 0 to 12 in makefile.darwin, which does not like 0.
   Added new private function png_read_chunk_header() from 1.4.0beta19.
-  Merged reading of chunk length and chunk type into a single 8-byte read.
-  Merged writing of chunk length and chunk type into a single 8-byte write.
+  Merge reading of chunk length and chunk type into a single 8-byte read.
+  Merge writing of chunk length and chunk type into a single 8-byte write.
 
 version 1.2.30beta04 [July 10, 2008]
   Merged more cosmetic whitespace changes from libpng-1.4.0beta19.
 
-version 1.0.38rc01, 1.2.30rc01 [July 17, 2008]
+version 1.0.38rc01, 1.2.30rc01 [July 25, 2008]
   No changes.
 
 version 1.0.38rc02, 1.2.30rc02 [July 21, 2008]
   Moved local array "chunkdata" from pngrutil.c to the png_struct, so
-    it will be freed by png_read_destroy() in case of a read error.
+    it will be freed by png_read_destroy() in case of a read error (Kurt
+    Christensen).
 
 version 1.0.38rc03, 1.2.30rc03 [July 21, 2008]
-  Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
+  Changed "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
 
 version 1.0.38rc04, 1.2.30rc04 [July 22, 2008]
-  Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
+  Changed "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
     png_decompress_chunk().
 
+version 1.0.38rc05, 1.2.30rc05 [July 25, 2008]
+  Changed all remaining "chunkdata" to "png_ptr->chunkdata" in
+    png_decompress_chunk() and remove chunkdata from parameter list.
+  Put a call to png_check_chunk_name() in png_read_chunk_header().
+  Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
+  Removed two calls to png_check_chunk_name() occuring later in the process.
+
 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 66b497d..790eaef 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.38rc04 - July 22, 2008
+Installing libpng version 1.0.38rc05 - July 25, 2008
 
 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.38rc04" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.0.38rc05" 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.38rc04)
+                       gcc, creates libpng10.so.0.1.0.38rc05)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng10.so.0.1.0.38rc04)
+                       (gcc, creates libpng10.so.0.1.0.38rc05)
  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.38rc04)
+                       creates libpng10.so.0.1.0.38rc05)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng10.so.0.1.0.38rc04)
+                       creates libpng10.so.0.1.0.38rc05)
  makefile.solaris-x86 =>  Solaris/intelMMX 2.X makefile (gcc,
-                       creates libpng10.so.0.1.0.38rc04)
+                       creates libpng10.so.0.1.0.38rc05)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng10.so.0.1.0.38rc04)
+                       creates libpng10.so.0.1.0.38rc05)
  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 166101f..e8dac2a 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.0.38rc04
+Known bugs in libpng version 1.0.38rc05
 
 1. February 23, 2006: The custom makefiles don't build libpng with -lz.
 
diff --git a/LICENSE b/LICENSE
index ece7b25..acce0ad 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.38rc04, July 22, 2008, are
+libpng versions 1.2.6, August 15, 2004, through 1.0.38rc05, July 25, 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 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-July 22, 2008
+July 25, 2008
diff --git a/Makefile.am b/Makefile.am
index 7970441..7beb4d4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -86,7 +86,7 @@
 	${srcdir}/contrib/pngsuite/* \
 	${srcdir}/contrib/visupng/* \
 	$(TESTS) \
-	example.c libpng-1.0.38rc04.txt pngvcrd.c 
+	example.c libpng-1.0.38rc05.txt pngvcrd.c 
 
 CLEANFILES= pngout.png libpng10.pc libpng10-config libpng.vers \
 libpng.sym
diff --git a/Makefile.in b/Makefile.in
index 0a11d11..df688bc 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -331,7 +331,7 @@
 	${srcdir}/contrib/pngsuite/* \
 	${srcdir}/contrib/visupng/* \
 	$(TESTS) \
-	example.c libpng-1.0.38rc04.txt pngvcrd.c 
+	example.c libpng-1.0.38rc05.txt pngvcrd.c 
 
 CLEANFILES = pngout.png libpng10.pc libpng10-config libpng.vers \
 libpng.sym
diff --git a/README b/README
index 569386a..e829ac7 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.0.38rc04 - July 22, 2008 (shared library 10.0)
+README for libpng version 1.0.38rc05 - July 25, 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.
@@ -194,11 +194,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.38rc04)
+                            gcc, creates libpng10.so.0.1.0.38rc05)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng10.so.0.1.0.38rc04)
+                            (gcc, creates libpng10.so.0.1.0.38rc05)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng10.so.0.1.0.38rc04,
+                            (gcc, creates libpng10.so.0.1.0.38rc05,
                             uses assembler code tuned for Intel MMX platform)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
@@ -220,12 +220,12 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng10.so.0.1.0.38rc04)
+                            (gcc, creates libpng10.so.0.1.0.38rc05)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng10.so.0.1.0.38rc04)
+                            (gcc, creates libpng10.so.0.1.0.38rc05)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng10.so.0.1.0.38rc04)
+                            (gcc, creates libpng10.so.0.1.0.38rc05)
        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 5a8316a..df32770 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      July 22, 2008
+      July 25, 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.38rc04 are Y2K compliant.  It is my belief that earlier
+      upward through 1.0.38rc05 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 2999db6..99522c2 100755
--- a/configure
+++ b/configure
Binary files differ
diff --git a/configure.ac b/configure.ac
index 3414850..4bea831 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.0.38rc04], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.0.38rc05], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.0.38rc04
+PNGLIB_VERSION=1.0.38rc05
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=0
 PNGLIB_RELEASE=38
diff --git a/example.c b/example.c
index 0659b96..2fb9e56 100644
--- a/example.c
+++ b/example.c
@@ -2,7 +2,7 @@
 #if 0 /* in case someone actually tries to compile this */
 
 /* example.c - an example of using libpng
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 2008]
  * This file has been placed in the public domain by the authors.
  * Maintained 1998-2008 Glenn Randers-Pehrson
  * Maintained 1996, 1997 Andreas Dilger)
@@ -793,13 +793,13 @@
       allocated it with malloc() instead of png_malloc(), use free() instead
       of png_free(). */
    png_free(png_ptr, palette);
-   palette=NULL;
+   palette = NULL;
 
    /* Similarly, if you png_malloced any data that you passed in with
       png_set_something(), such as a hist or trans array, free it here,
       when you can be sure that libpng is through with it. */
    png_free(png_ptr, trans);
-   trans=NULL;
+   trans = NULL;
 
    /* clean up after the write, and free any memory allocated */
    png_destroy_write_struct(&png_ptr, &info_ptr);
diff --git a/libpng-1.0.38rc04.txt b/libpng-1.0.38rc05.txt
similarity index 99%
rename from libpng-1.0.38rc04.txt
rename to libpng-1.0.38rc05.txt
index 307bbf7..87f04fb 100644
--- a/libpng-1.0.38rc04.txt
+++ b/libpng-1.0.38rc05.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.38rc04 - July 22, 2008
+ libpng version 1.0.38rc05 - July 25, 2008
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2008 Glenn Randers-Pehrson
@@ -9,7 +9,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.0.38rc04 - July 22, 2008
+ libpng versions 0.97, January 1998, through 1.0.38rc05 - July 25, 2008
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2008 Glenn Randers-Pehrson
 
@@ -2815,13 +2815,13 @@
 
 VIII. Y2K Compliance in libpng
 
-July 22, 2008
+July 25, 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.38rc04 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.38rc05 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 9ae86ad..19b24b9 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "July 22, 2008"
+.TH LIBPNG 3 "July 25, 2008"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.38rc04
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.38rc05
 .SH SYNOPSIS
 \fI\fB
 
@@ -821,7 +821,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.38rc04 - July 22, 2008
+ libpng version 1.0.38rc05 - July 25, 2008
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2008 Glenn Randers-Pehrson
@@ -830,7 +830,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.0.38rc04 - July 22, 2008
+ libpng versions 0.97, January 1998, through 1.0.38rc05 - July 25, 2008
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2008 Glenn Randers-Pehrson
 
@@ -3636,13 +3636,13 @@
 
 .SH VIII. Y2K Compliance in libpng
 
-July 22, 2008
+July 25, 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.38rc04 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.38rc05 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
@@ -3876,8 +3876,8 @@
  1.2.29              13    10229  12.so.0.29[.0]
  1.0.37              10    10037  10.so.0.37[.0]
  1.2.30beta01-04     13    10230  12.so.0.30[.0]
- 1.0.38rc01-04       10    10038  10.so.0.38[.0]
- 1.2.30rc01-04       13    10230  12.so.0.30[.0]
+ 1.0.38rc01-05       10    10038  10.so.0.38[.0]
+ 1.2.30rc01-05       13    10230  12.so.0.30[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3933,7 +3933,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.0.38rc04 - July 22, 2008:
+Libpng version 1.0.38rc05 - July 25, 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).
 
@@ -3954,7 +3954,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.38rc04, July 22, 2008, are
+libpng versions 1.2.6, August 15, 2004, through 1.0.38rc05, July 25, 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
@@ -4053,7 +4053,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-July 22, 2008
+July 25, 2008
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index d4b2f31..70a67e0 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "July 22, 2008"
+.TH LIBPNGPF 3 "July 25, 2008"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.38rc04
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.38rc05
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
@@ -81,7 +81,7 @@
 
 \fI\fB
 
-\fBpng_charp png_decompress_chunk (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fIcomp_type\fP\fB, png_bytep \fP\fIchunkdata\fP\fB, png_size_t \fP\fIchunklength\fP\fB, png_size_t \fP\fIprefix_length\fP\fB, png_size_t \fI*data_length\fP\fB);\fP
+\fBvoid png_decompress_chunk (png_structp \fP\fIpng_ptr\fP\fB, int \fP\fIcomp_type\fP\fB, png_charp \fP\fIchunkdata\fP\fB, png_size_t \fP\fIchunklength\fP\fB, png_size_t \fP\fIprefix_length\fP\fB, png_size_t \fI*data_length\fP\fB);\fP
 
 \fI\fB
 
diff --git a/png.5 b/png.5
index 5b40d89..fc9b384 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "July 22, 2008"
+.TH PNG 5 "July 25, 2008"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 8d2be50..9643851 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 2008]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2008 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -13,7 +13,7 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_38rc04 Your_png_h_is_not_version_1_0_38rc04;
+typedef version_1_0_38rc05 Your_png_h_is_not_version_1_0_38rc05;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -380,11 +380,11 @@
 #endif
 {
     png_free(png_ptr, info_ptr->trans);
+    info_ptr->trans = NULL;
     info_ptr->valid &= ~PNG_INFO_tRNS;
 #ifndef PNG_FREE_ME_SUPPORTED
     png_ptr->flags &= ~PNG_FLAG_FREE_TRNS;
 #endif
-    info_ptr->trans = NULL;
 }
 #endif
 
@@ -490,6 +490,7 @@
     png_free(png_ptr, png_ptr->unknown_chunk.data);
     png_ptr->unknown_chunk.data = NULL;
   }
+
 #ifdef PNG_FREE_ME_SUPPORTED
 if ((mask & PNG_FREE_UNKN) & info_ptr->free_me)
 #else
@@ -601,7 +602,7 @@
    {
        png_free(png_ptr, png_ptr->chunk_list);
        png_ptr->chunk_list=NULL;
-       png_ptr->num_chunk_list=0;
+       png_ptr->num_chunk_list = 0;
    }
 #endif
 
@@ -693,7 +694,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.38rc04 - July 22, 2008\n\
+   return ((png_charp) "\n libpng version 1.0.38rc05 - July 25, 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 1d8a892..a1531bc 100644
--- a/png.h
+++ b/png.h
@@ -1,6 +1,6 @@
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.0.38rc04 - July 22, 2008
+ * libpng version 1.0.38rc05 - July 25, 2008
  * Copyright (c) 1998-2008 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -8,7 +8,7 @@
  * Authors and maintainers:
  *  libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *  libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *  libpng versions 0.97, January 1998, through 1.0.38rc04 - July 22, 2008: Glenn
+ *  libpng versions 0.97, January 1998, through 1.0.38rc05 - July 25, 2008: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -194,8 +194,8 @@
  *    1.2.29                  13    10229  12.so.0.29[.0]
  *    1.0.37                  10    10037  10.so.0.37[.0]
  *    1.2.30beta01-04         13    10230  12.so.0.30[.0]
- *    1.0.38rc01-04           10    10038  10.so.0.38[.0]
- *    1.2.30rc01-04           13    10230  12.so.0.30[.0]
+ *    1.0.38rc01-05           10    10038  10.so.0.38[.0]
+ *    1.2.30rc01-05           13    10230  12.so.0.30[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -225,7 +225,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.0.38rc04, July 22, 2008, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.0.38rc05, July 25, 2008, are
  * Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -337,13 +337,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    July 22, 2008
+ *    July 25, 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.38rc04 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.0.38rc05 are Y2K compliant.  It is my belief that earlier
  *    versions were also Y2K compliant.
  *
  *    Libpng only has three year fields.  One is a 2-byte unsigned integer
@@ -399,9 +399,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.38rc04"
+#define PNG_LIBPNG_VER_STRING "1.0.38rc05"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.0.38rc04 - July 22, 2008\n"
+   " libpng version 1.0.38rc05 - July 25, 2008\n"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  10
@@ -413,7 +413,7 @@
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
 
-#define PNG_LIBPNG_VER_BUILD  04
+#define PNG_LIBPNG_VER_BUILD  05
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -1458,7 +1458,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_38rc04;
+typedef png_structp version_1_0_38rc05;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -3035,8 +3035,8 @@
 /* Decompress data in a chunk that uses compression */
 #if defined(PNG_zTXt_SUPPORTED) || defined(PNG_iTXt_SUPPORTED) || \
     defined(PNG_iCCP_SUPPORTED) || defined(PNG_sPLT_SUPPORTED)
-PNG_EXTERN png_charp png_decompress_chunk PNGARG((png_structp png_ptr,
-   int comp_type, png_charp chunkdata, png_size_t chunklength,
+PNG_EXTERN void png_decompress_chunk PNGARG((png_structp png_ptr,
+   int comp_type, png_size_t chunklength,
    png_size_t prefix_length, png_size_t *data_length));
 #endif
 
diff --git a/pngconf.h b/pngconf.h
index 55da04a..6f31604 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.0.38rc04 - July 22, 2008
+ * libpng version 1.0.38rc05 - July 25, 2008
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2008 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngerror.c b/pngerror.c
index 7503bf2..9a5466a 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -44,14 +44,21 @@
      {
        if (*error_message == '#')
        {
+         /*
+          *                 012345678901234567890
+          *  error_message: #nnnn   text\0
+          *  error_number:  nnnn\0
+          *  offset points to the first blank after nnnn
+          *  In this example, offset is 5.
+          */
            int offset;
            for (offset = 1; offset<15; offset++)
-              if (*(error_message + offset) == ' ')
+              if (error_message[offset] == ' ')
                   break;
            if (png_ptr->flags&PNG_FLAG_STRIP_ERROR_TEXT)
            {
               int i;
-              for (i = 0; i<offset - 1; i++)
+              for (i = 0; i < offset - 1; i++)
                  msg[i] = error_message[i + 1];
               msg[i] = '\0';
               error_message = msg;
@@ -110,8 +117,8 @@
      {
        if (*warning_message == '#')
        {
-           for (offset = 1; offset<15; offset++)
-              if (*(warning_message + offset) == ' ')
+           for (offset = 1; offset < 15; offset++)
+              if (warning_message[offset] == ' ')
                   break;
        }
      }
@@ -216,17 +223,26 @@
 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
    if (*error_message == '#')
    {
+     /*
+      *                 012345678901234567890
+      *  error_message: #nnnn   text\0
+      *  error_number:  nnnn\0
+      *  offset points to the first blank after nnnn
+      *  In this example, offset is 5, and we want to
+      *  insert a terminating NULL at error_number[4].
+      */
      int offset;
      char error_number[16];
      for (offset = 0; offset<15; offset++)
      {
-         error_number[offset] = *(error_message + offset + 1);
-         if (*(error_message + offset) == ' ')
+         error_number[offset] = error_message[offset + 1];
+         if (error_message[offset] == ' ')
              break;
      }
      if ((offset > 1) && (offset < 15))
      {
-       error_number[offset - 1] = '\0';
+       error_number[offset - 1] = '\0'; /* should this be [offset + 1]? */
+       /* should we update "offset" to point to the beginning of the text? */
        fprintf(stderr, "libpng error no. %s: %s\n", error_number,
           error_message + offset);
      }
@@ -276,8 +292,8 @@
      char warning_number[16];
      for (offset = 0; offset < 15; offset++)
      {
-        warning_number[offset]=*(warning_message + offset + 1);
-        if (*(warning_message + offset) == ' ')
+        warning_number[offset] = warning_message[offset + 1];
+        if (warning_message[offset] == ' ')
             break;
      }
      if ((offset > 1) && (offset < 15))
diff --git a/pngget.c b/pngget.c
index f372c45..d365eb9 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 2008]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2008 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngmem.c b/pngmem.c
index f4d1137..a2652b5 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -272,6 +272,7 @@
 /* free a pointer allocated by png_malloc().  In the default
    configuration, png_ptr is not used, but is passed in case it
    is needed.  If ptr is NULL, return without taking any action. */
+
 void PNGAPI
 png_free(png_structp png_ptr, png_voidp ptr)
 {
@@ -543,7 +544,7 @@
    png_uint_32 save_flags;
    if (png_ptr == NULL) return (NULL);
 
-   save_flags=png_ptr->flags;
+   save_flags = png_ptr->flags;
    png_ptr->flags|=PNG_FLAG_MALLOC_NULL_MEM_OK;
    ptr = (png_voidp)png_malloc((png_structp)png_ptr, size);
    png_ptr->flags=save_flags;
@@ -586,10 +587,11 @@
 png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr
   malloc_fn, png_free_ptr free_fn)
 {
-   if (png_ptr != NULL) {
-   png_ptr->mem_ptr = mem_ptr;
-   png_ptr->malloc_fn = malloc_fn;
-   png_ptr->free_fn = free_fn;
+   if (png_ptr != NULL)
+   {
+      png_ptr->mem_ptr = mem_ptr;
+      png_ptr->malloc_fn = malloc_fn;
+      png_ptr->free_fn = free_fn;
    }
 }
 
diff --git a/pngpread.c b/pngpread.c
index 3f502e6..f219b7b 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -1463,7 +1463,10 @@
    length)
 {
    png_uint_32 skip = 0;
+#if 0
+   /* Redundant? */
    png_check_chunk_name(png_ptr, png_ptr->chunk_name);
+#endif
 
    if (!(png_ptr->chunk_name[0] & 0x20))
    {
diff --git a/pngread.c b/pngread.c
index e12cd91..99391fa 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -68,7 +68,7 @@
 #endif
    {
       png_free(png_ptr, png_ptr->zbuf);
-      png_ptr->zbuf=NULL;
+      png_ptr->zbuf = NULL;
 #ifdef PNG_USER_MEM_SUPPORTED
       png_destroy_struct_2((png_voidp)png_ptr,
          (png_free_ptr)free_fn, (png_voidp)mem_ptr);
@@ -90,7 +90,7 @@
 
    if (user_png_ver)
    {
-     i=0;
+     i = 0;
      do
      {
        if (user_png_ver[i] != png_libpng_ver[i])
@@ -127,7 +127,7 @@
         png_warning(png_ptr, msg);
 #endif
 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
-        png_ptr->flags=0;
+        png_ptr->flags = 0;
 #endif
         png_error(png_ptr,
            "Incompatible libpng version in application and library");
@@ -195,7 +195,7 @@
       png_sizeof(png_info) > png_info_size)
    {
       char msg[80];
-      png_ptr->warning_fn=NULL;
+      png_ptr->warning_fn = NULL;
       if (user_png_ver)
       {
         png_snprintf(msg, 80,
@@ -211,18 +211,18 @@
 #endif
    if (png_sizeof(png_struct) > png_struct_size)
      {
-       png_ptr->error_fn=NULL;
+       png_ptr->error_fn = NULL;
 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
-       png_ptr->flags=0;
+       png_ptr->flags = 0;
 #endif
        png_error(png_ptr,
        "The png struct allocated by the application for reading is too small.");
      }
    if (png_sizeof(png_info) > png_info_size)
      {
-       png_ptr->error_fn=NULL;
+       png_ptr->error_fn = NULL;
 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
-       png_ptr->flags=0;
+       png_ptr->flags = 0;
 #endif
        png_error(png_ptr,
          "The info struct allocated by application for reading is too small.");
@@ -239,7 +239,7 @@
    jmp_buf tmp_jmp;  /* to save current jump buffer */
 #endif
 
-   int i=0;
+   int i = 0;
 
    png_structp png_ptr=*ptr_ptr;
 
@@ -252,7 +252,7 @@
 #ifdef PNG_LEGACY_SUPPORTED
        png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
 #else
-       png_ptr->warning_fn=NULL;
+       png_ptr->warning_fn = NULL;
        png_warning(png_ptr,
         "Application uses deprecated png_read_init() and should be recompiled.");
        break;
@@ -406,7 +406,7 @@
 #endif
 #endif /* PNG_USE_LOCAL_ARRAYS */
       png_uint_32 length = png_read_chunk_header(png_ptr);
-      png_bytep chunk_name = png_ptr->chunk_name;
+      PNG_CONST png_bytep chunk_name = png_ptr->chunk_name;
 
       /* This should be a binary subdivision search or a hash for
        * matching the chunk name rather than a linear search.
@@ -904,9 +904,6 @@
 void PNGAPI
 png_read_end(png_structp png_ptr, png_infop info_ptr)
 {
-   png_bytep chunk_name;
-   png_uint_32 length;
-
    png_debug(1, "in png_read_end\n");
    if (png_ptr == NULL) return;
    png_crc_finish(png_ptr, 0); /* Finish off CRC from last IDAT chunk */
@@ -970,8 +967,8 @@
       PNG_CONST PNG_zTXt;
 #endif
 #endif /* PNG_USE_LOCAL_ARRAYS */
-      length = png_read_chunk_header(png_ptr);
-      chunk_name = png_ptr->chunk_name;
+      png_uint_32 length = png_read_chunk_header(png_ptr);
+      PNG_CONST png_bytep chunk_name = png_ptr->chunk_name;
 
       if (!png_memcmp(chunk_name, png_IHDR, 4))
          png_handle_IHDR(png_ptr, info_ptr, length);
diff --git a/pngrio.c b/pngrio.c
index 9d5ed4a..f8ded82 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 2008]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2008 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index 229cab2..3b4df99 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -274,7 +274,7 @@
             }
          }
          png_free(png_ptr, png_ptr->dither_sort);
-         png_ptr->dither_sort=NULL;
+         png_ptr->dither_sort = NULL;
       }
       else
       {
@@ -292,7 +292,7 @@
          png_dsortp t;
          png_dsortpp hash;
 
-         t=NULL;
+         t = NULL;
 
          /* initialize palette index arrays */
          png_ptr->index_to_palette = (png_bytep)png_malloc(png_ptr,
@@ -436,8 +436,8 @@
          png_free(png_ptr, hash);
          png_free(png_ptr, png_ptr->palette_to_index);
          png_free(png_ptr, png_ptr->index_to_palette);
-         png_ptr->palette_to_index=NULL;
-         png_ptr->index_to_palette=NULL;
+         png_ptr->palette_to_index = NULL;
+         png_ptr->index_to_palette = NULL;
       }
       num_palette = maximum_colors;
    }
@@ -2213,10 +2213,9 @@
 /* reduce RGB files to grayscale, with or without alpha
  * using the equation given in Poynton's ColorFAQ at
  * <http://www.inforamp.net/~poynton/>  (THIS LINK IS DEAD June 2008)
- * Copyright (c) 1998-01-04 Charles Poynton poynton at inforamp.net
- * New links:
+ * New link:
  * <http://www.poynton.com/notes/colour_and_gamma/>
- * Copyright (c) 2006-11-28 Charles Poynton poynton at poynton.com
+ * Charles Poynton poynton at poynton.com
  *
  *     Y = 0.212671 * R + 0.715160 * G + 0.072169 * B
  *
diff --git a/pngrutil.c b/pngrutil.c
index bb86326..985b6e4 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -122,6 +122,9 @@
    png_reset_crc(png_ptr);
    png_calculate_crc(png_ptr, png_ptr->chunk_name, 4);
 
+   /* check to see if chunk name is valid */
+   png_check_chunk_name(png_ptr, png_ptr->chunk_name);
+
    return length;
 }
 
@@ -213,9 +216,9 @@
  * holding the original prefix part and an uncompressed version of the
  * trailing part (the malloc area passed in is freed).
  */
-png_charp /* PRIVATE */
+void /* PRIVATE */
 png_decompress_chunk(png_structp png_ptr, int comp_type,
-                              png_charp chunkdata, png_size_t chunklength,
+                              png_size_t chunklength,
                               png_size_t prefix_size, png_size_t *newlength)
 {
    static PNG_CONST char msg[] = "Error decoding compressed text";
@@ -225,7 +228,7 @@
    if (comp_type == PNG_COMPRESSION_TYPE_BASE)
    {
       int ret = Z_OK;
-      png_ptr->zstream.next_in = (png_bytep)(chunkdata + prefix_size);
+      png_ptr->zstream.next_in = (png_bytep)(png_ptr->chunkdata + prefix_size);
       png_ptr->zstream.avail_in = (uInt)(chunklength - prefix_size);
       png_ptr->zstream.next_out = png_ptr->zbuf;
       png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
@@ -251,17 +254,18 @@
                text = (png_charp)png_malloc_warn(png_ptr, text_size);
                if (text ==  NULL)
                  {
-                    png_free(png_ptr, chunkdata);
+                    png_free(png_ptr, png_ptr->chunkdata);
                     png_ptr->chunkdata = NULL;
                     png_error(png_ptr, "Not enough memory to decompress chunk");
                  }
-               png_memcpy(text, chunkdata, prefix_size);
+               png_memcpy(text, png_ptr->chunkdata, prefix_size);
             }
 
             text[text_size - 1] = 0x00;
 
             /* Copy what we can of the error message into the text chunk */
-            text_size = (png_size_t)(chunklength - (text - chunkdata) - 1);
+            text_size = (png_size_t)(chunklength -
+              (text - png_ptr->chunkdata) - 1);
             if (text_size > png_sizeof(msg))
                text_size = png_sizeof(msg);
             png_memcpy(text + prefix_size, msg, text_size);
@@ -276,14 +280,14 @@
                text = (png_charp)png_malloc_warn(png_ptr, text_size + 1);
                if (text ==  NULL)
                {
-                  png_free(png_ptr, chunkdata);
+                  png_free(png_ptr, png_ptr->chunkdata);
                   png_ptr->chunkdata = NULL;
                   png_error(png_ptr,
                     "Not enough memory to decompress chunk.");
                }
                png_memcpy(text + prefix_size, png_ptr->zbuf,
                     text_size - prefix_size);
-               png_memcpy(text, chunkdata, prefix_size);
+               png_memcpy(text, png_ptr->chunkdata, prefix_size);
                *(text + text_size) = 0x00;
             }
             else
@@ -297,7 +301,7 @@
                if (text == NULL)
                {
                   png_free(png_ptr, tmp);
-                  png_free(png_ptr, chunkdata);
+                  png_free(png_ptr, png_ptr->chunkdata);
                   png_ptr->chunkdata = NULL;
                   png_error(png_ptr,
                     "Not enough memory to decompress chunk..");
@@ -346,11 +350,11 @@
             text = (png_charp)png_malloc_warn(png_ptr, text_size+1);
             if (text == NULL)
               {
-                png_free(png_ptr, chunkdata);
+                png_free(png_ptr, png_ptr->chunkdata);
                 png_ptr->chunkdata = NULL;
                 png_error(png_ptr, "Not enough memory for text.");
               }
-            png_memcpy(text, chunkdata, prefix_size);
+            png_memcpy(text, png_ptr->chunkdata, prefix_size);
          }
          *(text + text_size) = 0x00;
       }
@@ -358,8 +362,8 @@
       inflateReset(&png_ptr->zstream);
       png_ptr->zstream.avail_in = 0;
 
-      png_free(png_ptr, chunkdata);
-      chunkdata = text;
+      png_free(png_ptr, png_ptr->chunkdata);
+      png_ptr->chunkdata = text;
       *newlength=text_size;
    }
    else /* if (comp_type != PNG_COMPRESSION_TYPE_BASE) */
@@ -373,11 +377,9 @@
       png_warning(png_ptr, "Unknown zTXt compression type");
 #endif
 
-      *(chunkdata + prefix_size) = 0x00;
+      *(png_ptr->chunkdata + prefix_size) = 0x00;
       *newlength = prefix_size;
    }
-
-   return chunkdata;
 }
 #endif
 
@@ -553,7 +555,6 @@
          if (png_ptr->flags & PNG_FLAG_CRC_ANCILLARY_NOWARN)
          {
             png_chunk_error(png_ptr, "CRC error");
-%15+%            png_chunk_benign_error(png_ptr, "CRC error");
          }
          else
          {
@@ -1086,8 +1087,8 @@
    }
 
    prefix_length = profile - png_ptr->chunkdata;
-   png_ptr->chunkdata = png_decompress_chunk(png_ptr, compression_type,
-     png_ptr->chunkdata, slength, prefix_length, &data_length);
+   png_decompress_chunk(png_ptr, compression_type,
+     slength, prefix_length, &data_length);
 
    profile_length = data_length - prefix_length;
 
@@ -2061,8 +2062,8 @@
    }
    prefix_len = text - png_ptr->chunkdata;
 
-   png_ptr->chunkdata = (png_charp)png_decompress_chunk(png_ptr, comp_type,
-     png_ptr->chunkdata, (png_size_t)length, prefix_len, &data_len);
+   png_decompress_chunk(png_ptr, comp_type,
+     (png_size_t)length, prefix_len, &data_len);
 
    text_ptr = (png_textp)png_malloc_warn(png_ptr,
       (png_uint_32)png_sizeof(png_text));
@@ -2190,8 +2191,8 @@
 
    key=png_ptr->chunkdata;
    if (comp_flag)
-       png_ptr->chunkdata = png_decompress_chunk(png_ptr, comp_type,
-         png_ptr->chunkdata, (size_t)length, prefix_len, &data_len);
+       png_decompress_chunk(png_ptr, comp_type,
+         (size_t)length, prefix_len, &data_len);
    else
        data_len = png_strlen(png_ptr->chunkdata + prefix_len);
    text_ptr = (png_textp)png_malloc_warn(png_ptr,
@@ -2242,7 +2243,10 @@
          png_ptr->mode |= PNG_AFTER_IDAT;
    }
 
+#if 0
+   /* Redundant? */
    png_check_chunk_name(png_ptr, png_ptr->chunk_name);
+#endif
 
    if (!(png_ptr->chunk_name[0] & 0x20))
    {
@@ -2324,13 +2328,14 @@
    the chunk name itself is valid. */
 
 #define isnonalpha(c) ((c) < 65 || (c) > 122 || ((c) > 90 && (c) < 97))
+#define isnonupper(c) ((c) < 65 || (c) > 90)
 
 void /* PRIVATE */
 png_check_chunk_name(png_structp png_ptr, png_bytep chunk_name)
 {
    png_debug(1, "in png_check_chunk_name\n");
    if (isnonalpha(chunk_name[0]) || isnonalpha(chunk_name[1]) ||
-       isnonalpha(chunk_name[2]) || isnonalpha(chunk_name[3]))
+       isnonupper(chunk_name[2]) || isnonalpha(chunk_name[3]))
    {
       png_chunk_error(png_ptr, "invalid chunk type");
    }
diff --git a/pngset.c b/pngset.c
index 5f5f16f..ef61e39 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -167,7 +167,7 @@
       gamma=21474.83;
    }
    else
-      gamma=file_gamma;
+      gamma = file_gamma;
    info_ptr->gamma = (float)gamma;
 #ifdef PNG_FIXED_POINT_SUPPORTED
    info_ptr->int_gamma = (int)(gamma*100000.+.5);
@@ -200,7 +200,7 @@
        gamma = 0;
      }
      else
-       gamma=int_gamma;
+       gamma = int_gamma;
    }
 #ifdef PNG_FLOATING_POINT_SUPPORTED
    info_ptr->gamma = (float)(gamma/100000.);
@@ -502,6 +502,7 @@
    if (info_ptr->scal_s_height == NULL)
    {
       png_free (png_ptr, info_ptr->scal_s_width);
+      info_ptr->scal_s_width = NULL;
       png_warning(png_ptr,
        "Memory allocation failed while processing sCAL.");
       return;
@@ -731,7 +732,7 @@
    int num_text)
 {
    int ret;
-   ret=png_set_text_2(png_ptr, info_ptr, text_ptr, num_text);
+   ret = png_set_text_2(png_ptr, info_ptr, text_ptr, num_text);
    if (ret)
      png_error(png_ptr, "Insufficient memory to store text");
 }
@@ -855,13 +856,13 @@
 #ifdef PNG_iTXt_SUPPORTED
       if (text_ptr[i].compression > 0)
       {
-         textp->lang=textp->key + key_len + 1;
+         textp->lang = textp->key + key_len + 1;
          png_memcpy(textp->lang, text_ptr[i].lang, lang_len);
          *(textp->lang + lang_len) = '\0';
-         textp->lang_key=textp->lang + lang_len + 1;
+         textp->lang_key = textp->lang + lang_len + 1;
          png_memcpy(textp->lang_key, text_ptr[i].lang_key, lang_key_len);
          *(textp->lang_key + lang_key_len) = '\0';
-         textp->text=textp->lang_key + lang_key_len + 1;
+         textp->text = textp->lang_key + lang_key_len + 1;
       }
       else
 #endif
@@ -870,7 +871,7 @@
          textp->lang=NULL;
          textp->lang_key=NULL;
 #endif
-         textp->text=textp->key + key_len + 1;
+         textp->text = textp->key + key_len + 1;
       }
       if (text_length)
          png_memcpy(textp->text, text_ptr[i].text,
@@ -1169,7 +1170,7 @@
     }
     if (chunk_list == NULL)
       return;
-    old_num_chunks=png_ptr->num_chunk_list;
+    old_num_chunks = png_ptr->num_chunk_list;
     new_list=(png_bytep)png_malloc(png_ptr,
        (png_uint_32)
        (5*(num_chunks + old_num_chunks)));
@@ -1182,10 +1183,10 @@
     }
     png_memcpy(new_list + 5*old_num_chunks, chunk_list,
        (png_size_t)(5*num_chunks));
-    for (p=new_list + 5*old_num_chunks + 4, i = 0; i<num_chunks; i++, p += 5)
+    for (p = new_list + 5*old_num_chunks + 4, i = 0; i<num_chunks; i++, p += 5)
        *p=(png_byte)keep;
-    png_ptr->num_chunk_list=old_num_chunks + num_chunks;
-    png_ptr->chunk_list=new_list;
+    png_ptr->num_chunk_list = old_num_chunks + num_chunks;
+    png_ptr->chunk_list = new_list;
 #ifdef PNG_FREE_ME_SUPPORTED
     png_ptr->free_me |= PNG_FREE_LIST;
 #endif
diff --git a/pngtest.c b/pngtest.c
index 635a0e4..3264f0e 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -571,7 +571,7 @@
                the memory that is to be freed. */
             png_memset(ptr, 0x55, pinfo->size);
             png_free_default(png_ptr, pinfo);
-            pinfo=NULL;
+            pinfo = NULL;
             break;
          }
          if (pinfo->next == NULL)
@@ -587,7 +587,7 @@
    if (verbose)
       printf("Freeing %x\n", ptr);
    png_free_default(png_ptr, ptr);
-   ptr=NULL;
+   ptr = NULL;
 }
 #endif /* PNG_USER_MEM_SUPPORTED && PNG_DEBUG */
 /* END of code to test memory allocation/deallocation */
@@ -775,8 +775,8 @@
 #endif
    {
       fprintf(STDERR, "%s -> %s: libpng read error\n", inname, outname);
-      if (row_buf)
-         png_free(read_ptr, row_buf);
+      png_free(read_ptr, row_buf);
+      row_buf = NULL;
       png_destroy_read_struct(&read_ptr, &read_info_ptr, &end_info_ptr);
 #ifdef PNG_WRITE_SUPPORTED
       png_destroy_info_struct(write_ptr, &write_end_info_ptr);
@@ -1241,6 +1241,7 @@
 #ifndef SINGLE_ROWBUF_ALLOC
          png_debug2(0, "Freeing row buffer (pass %d, y = %ld)\n\n", pass, y);
          png_free(read_ptr, row_buf);
+         row_buf = NULL;
 #endif /* !SINGLE_ROWBUF_ALLOC */
       }
    }
@@ -1326,7 +1327,7 @@
 #ifdef SINGLE_ROWBUF_ALLOC
    png_debug(1, "destroying row_buf for read_ptr\n");
    png_free(read_ptr, row_buf);
-   row_buf=NULL;
+   row_buf = NULL;
 #endif /* SINGLE_ROWBUF_ALLOC */
    png_debug(1, "destroying read_ptr, read_info_ptr, end_info_ptr\n");
    png_destroy_read_struct(&read_ptr, &read_info_ptr, &end_info_ptr);
@@ -1684,4 +1685,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_38rc04 your_png_h_is_not_version_1_0_38rc04;
+typedef version_1_0_38rc05 your_png_h_is_not_version_1_0_38rc05;
diff --git a/pngtrans.c b/pngtrans.c
index 1376e97..972bb2c 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 2008]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2008 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwio.c b/pngwio.c
index be491c9..0731718 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 2008]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2008 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwrite.c b/pngwrite.c
index 139bb80..e69706d 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -477,7 +477,7 @@
 #endif
    {
       png_free(png_ptr, png_ptr->zbuf);
-      png_ptr->zbuf=NULL;
+       png_ptr->zbuf=NULL;
       png_destroy_struct(png_ptr);
       return (NULL);
    }
@@ -1034,7 +1034,7 @@
         {
            png_free(png_ptr, png_ptr->chunk_list);
            png_ptr->chunk_list=NULL;
-           png_ptr->num_chunk_list=0;
+           png_ptr->num_chunk_list = 0;
         }
 #endif
       }
diff --git a/pngwutil.c b/pngwutil.c
index 0fee680..6c43b0f 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * Last changed in libpng 1.2.30 [July 22, 2008]
+ * Last changed in libpng 1.2.30 [July 25, 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)
@@ -360,11 +360,11 @@
       png_write_chunk_data(png_ptr, (png_bytep)comp->output_ptr[i],
          (png_size_t)png_ptr->zbuf_size);
       png_free(png_ptr, comp->output_ptr[i]);
-      comp->output_ptr[i]=NULL;
+       comp->output_ptr[i]=NULL;
    }
    if (comp->max_output_ptr != 0)
       png_free(png_ptr, comp->output_ptr);
-      comp->output_ptr=NULL;
+       comp->output_ptr=NULL;
    /* write anything left in zbuf */
    if (png_ptr->zstream.avail_out < (png_uint_32)png_ptr->zbuf_size)
       png_write_chunk_data(png_ptr, png_ptr->zbuf,
@@ -1331,7 +1331,7 @@
    if (key_len == 0)
    {
       png_free(png_ptr, *new_key);
-      *new_key=NULL;
+       *new_key=NULL;
       png_warning(png_ptr, "Zero length keyword");
    }
 
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index ab9635f..8e27484 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.38rc04
+#    VERSION 0.${PNGLIB_RELEASE}.1.0.38rc05
      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 c5ccd5a..9b5df4a 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.0.38rc04
+version=1.0.38rc05
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 84a33e9..404dfb2 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.38rc04
+Version: 1.0.38rc05
 Libs: -L${libdir} -lpng10
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index c7fa006..f6c264a 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index c3ae137..ed270ad 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 74af869..92082df 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 5e427d6..69a7b7a 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index e26fb84..0e619a8 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -74,7 +74,7 @@
 LIBNAME = libpng10
 PNGMAJ = 0
 CYGDLL = 10
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index c909c2f..d9fa699 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 12
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index cf950b3..5cc3e25 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index 8b4f7c0..bc7aa79 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index d61a0c0..dbe0609 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -14,7 +14,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index 96de16a..50a2a32 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 746dc55..1c8d1e0 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 339a6ab..135bed8 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 2fcd862..26b906a 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 7b5ddd9..95c5f64 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -74,7 +74,7 @@
 LIBNAME = libpng10
 PNGMAJ = 0
 MINGDLL = 10
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index c836961..6b0390b 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -14,7 +14,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.0.38rc04
+SHLIB_MINOR=	1.0.38rc05
 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 27d3270..e36d81a 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -14,7 +14,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.0.38rc04
+SHLIB_MINOR=	1.0.38rc05
 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 919d183..7c5f32d 100644
--- a/scripts/makefile.nommx
+++ b/scripts/makefile.nommx
@@ -7,7 +7,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 50afeff..6eccd74 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,7 +8,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.0.38rc04
+SHLIB_MINOR=	1.0.38rc05
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index e39ac31..d9814a8 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index ae16036..e53c263 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index bebeaba..fbd2064 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 9ec6234..bfa3072 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 455ba75..4101e46 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86
index 5a03233..59c6ece 100644
--- a/scripts/makefile.solaris-x86
+++ b/scripts/makefile.solaris-x86
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.38rc04
+PNGMIN = 1.0.38rc05
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 4b8c318..7eaddb4 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.0.38rc04
+; Version 1.0.38rc05
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index 851c523..16fbe84 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.0.38rc04
+;Version 1.0.38rc05
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3