[libpng17] Imported from libpng-1.7.0beta66.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 752e506..7ce1e34 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.7.0beta66 - September 27, 2015
+Libpng 1.7.0beta66 - October 2, 2015
 
 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.
@@ -871,7 +871,7 @@
     (but not yet by the writer) (John Bowler).
   Implemented shared transform handling that is used throughout (John Bowler).
 
-Version 1.7.0beta66 [September 27, 2015]
+Version 1.7.0beta66 [October 2, 2015]
   Enabled the low-bit-depth gray tests that were disabled in prior versions
     of libpng because of problems that should have been fixed by the recent
     changes to libpng17. Enabling the tests revealed bugs in those changes
diff --git a/CHANGES b/CHANGES
index a00b70c..18e43d4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5170,7 +5170,7 @@
     (but not yet by the writer) (John Bowler).
   Implemented shared transform handling that is used throughout (John Bowler).
 
-Version 1.7.0beta66 [September 27, 2015]
+Version 1.7.0beta66 [October 2, 2015]
   Enabled the low-bit-depth gray tests that were disabled in prior versions
     of libpng because of problems that should have been fixed by the recent
     changes to libpng17. Enabling the tests revealed bugs in those changes
diff --git a/LICENSE b/LICENSE
index e4dcf9b..30c5ed9 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000, through 1.7.0beta66, September 18, 2015, are
+libpng versions 1.0.7, July 1, 2000, through 1.7.0beta66, October 2, 2015, are
 Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors:
@@ -104,4 +104,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-September 18, 2015
+October 2, 2015
diff --git a/README b/README
index 6ae8c7a..74093bc 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.7.0beta66 - September 18, 2015 (shared library 17.0)
+README for libpng version 1.7.0beta66 - October 2, 2015 (shared library 17.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
diff --git a/contrib/gregbook/readpng2.c b/contrib/gregbook/readpng2.c
index 2e4c536..a9e7ba5 100644
--- a/contrib/gregbook/readpng2.c
+++ b/contrib/gregbook/readpng2.c
@@ -4,7 +4,7 @@
 
   ---------------------------------------------------------------------------
 
-      Copyright (c) 1998-2007 Greg Roelofs.  All rights reserved.
+      Copyright (c) 1998-2015 Greg Roelofs.  All rights reserved.
 
       This software is provided "as is," without warranty of any kind,
       express or implied.  In no event shall the author or contributors
@@ -51,6 +51,11 @@
       along with this program; if not, write to the Free Software Foundation,
       Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+  ---------------------------------------------------------------------------
+
+   Changelog:
+     %RDATE% - Check return value of png_get_bKGD() (Glenn R-P)
+
   ---------------------------------------------------------------------------*/
 
 
@@ -104,7 +109,7 @@
 
     /* could also replace libpng warning-handler (final NULL), but no need: */
 
-    png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, mainprog_ptr,
+    png_ptr = png_create_read_struct(png_get_libpng_ver(NULL), mainprog_ptr,
       readpng2_error_handler, readpng2_warning_handler);
     if (!png_ptr)
         return 4;   /* out of memory */
@@ -261,36 +266,38 @@
     /* since we know we've read all of the PNG file's "header" (i.e., up
      * to IDAT), we can check for a background color here */
 
-    if (mainprog_ptr->need_bgcolor &&
-        png_get_valid(png_ptr, info_ptr, PNG_INFO_bKGD))
+    if (mainprog_ptr->need_bgcolor)
     {
         png_color_16p pBackground;
 
         /* it is not obvious from the libpng documentation, but this function
          * takes a pointer to a pointer, and it always returns valid red,
          * green and blue values, regardless of color_type: */
-        png_get_bKGD(png_ptr, info_ptr, &pBackground);
+        if (png_get_bKGD(png_ptr, info_ptr, &pBackground))
+        {
 
-        /* however, it always returns the raw bKGD data, regardless of any
-         * bit-depth transformations, so check depth and adjust if necessary */
-        if (bit_depth == 16) {
-            mainprog_ptr->bg_red   = pBackground->red   >> 8;
-            mainprog_ptr->bg_green = pBackground->green >> 8;
-            mainprog_ptr->bg_blue  = pBackground->blue  >> 8;
-        } else if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
-            if (bit_depth == 1)
-                mainprog_ptr->bg_red = mainprog_ptr->bg_green =
-                  mainprog_ptr->bg_blue = pBackground->gray? 255 : 0;
-            else if (bit_depth == 2)
-                mainprog_ptr->bg_red = mainprog_ptr->bg_green =
-                  mainprog_ptr->bg_blue = (255/3) * pBackground->gray;
-            else /* bit_depth == 4 */
-                mainprog_ptr->bg_red = mainprog_ptr->bg_green =
-                  mainprog_ptr->bg_blue = (255/15) * pBackground->gray;
-        } else {
-            mainprog_ptr->bg_red   = (uch)pBackground->red;
-            mainprog_ptr->bg_green = (uch)pBackground->green;
-            mainprog_ptr->bg_blue  = (uch)pBackground->blue;
+           /* however, it always returns the raw bKGD data, regardless of any
+            * bit-depth transformations, so check depth and adjust if necessary
+            */
+           if (bit_depth == 16) {
+               mainprog_ptr->bg_red   = pBackground->red   >> 8;
+               mainprog_ptr->bg_green = pBackground->green >> 8;
+               mainprog_ptr->bg_blue  = pBackground->blue  >> 8;
+           } else if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
+               if (bit_depth == 1)
+                   mainprog_ptr->bg_red = mainprog_ptr->bg_green =
+                     mainprog_ptr->bg_blue = pBackground->gray? 255 : 0;
+               else if (bit_depth == 2)
+                   mainprog_ptr->bg_red = mainprog_ptr->bg_green =
+                     mainprog_ptr->bg_blue = (255/3) * pBackground->gray;
+               else /* bit_depth == 4 */
+                   mainprog_ptr->bg_red = mainprog_ptr->bg_green =
+                     mainprog_ptr->bg_blue = (255/15) * pBackground->gray;
+           } else {
+               mainprog_ptr->bg_red   = (uch)pBackground->red;
+               mainprog_ptr->bg_green = (uch)pBackground->green;
+               mainprog_ptr->bg_blue  = (uch)pBackground->blue;
+           }
         }
     }
 
diff --git a/libpng-manual.txt b/libpng-manual.txt
index d372144..e39c0ca 100644
--- a/libpng-manual.txt
+++ b/libpng-manual.txt
@@ -1,6 +1,6 @@
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.7.0beta66 - September 18, 2015
+ libpng version 1.7.0beta66 - October 2, 2015
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.7.0beta66 - September 18, 2015
+ libpng versions 0.97, January 1998, through 1.7.0beta66 - October 2, 2015
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
 
@@ -5317,7 +5317,7 @@
 
 XVII. Y2K Compliance in libpng
 
-September 18, 2015
+October 2, 2015
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
diff --git a/libpng.3 b/libpng.3
index c9097f2..3540a8b 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,4 +1,4 @@
-.TH LIBPNG 3 "September 18, 2015"
+.TH LIBPNG 3 "October 2, 2015"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta66
 .SH SYNOPSIS
@@ -498,7 +498,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.7.0beta66 - September 18, 2015
+ libpng version 1.7.0beta66 - October 2, 2015
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
@@ -509,7 +509,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.7.0beta66 - September 18, 2015
+ libpng versions 0.97, January 1998, through 1.7.0beta66 - October 2, 2015
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
 
@@ -5815,7 +5815,7 @@
 
 .SH XVII. Y2K Compliance in libpng
 
-September 18, 2015
+October 2, 2015
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
@@ -6137,7 +6137,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.7.0beta66 - September 18, 2015:
+Libpng version 1.7.0beta66 - October 2, 2015:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -6160,7 +6160,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000, through 1.7.0beta66, September 18, 2015, are
+libpng versions 1.0.7, July 1, 2000, through 1.7.0beta66, October 2, 2015, are
 Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors:
@@ -6254,7 +6254,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-September 18, 2015
+October 2, 2015
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index ae3d960..288ef2a 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,4 +1,4 @@
-.TH LIBPNGPF 3 "September 18, 2015"
+.TH LIBPNGPF 3 "October 2, 2015"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta66
 (private functions)
diff --git a/png.5 b/png.5
index a3fc0a7..cba79c7 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "September 18, 2015"
+.TH PNG 5 "October 2, 2015"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index f081bd7..8a2ad49 100644
--- a/png.c
+++ b/png.c
@@ -699,13 +699,13 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-     "libpng version 1.7.0beta66 - September 18, 2015" PNG_STRING_NEWLINE \
+     "libpng version 1.7.0beta66 - October 2, 2015" PNG_STRING_NEWLINE \
      "Copyright (c) 1998-2015 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
      "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
      "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
      PNG_STRING_NEWLINE;
 #  else
-      return "libpng version 1.7.0beta66 - September 18, 2015\
+      return "libpng version 1.7.0beta66 - October 2, 2015\
       Copyright (c) 1998-2015 Glenn Randers-Pehrson\
       Copyright (c) 1996-1997 Andreas Dilger\
       Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
diff --git a/png.h b/png.h
index acd1113..f00b3cf 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.7.0beta66, September 18, 2015
+ * libpng version 1.7.0beta66, October 2, 2015
  *
  * Copyright (c) 1998-2015 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -12,7 +12,7 @@
  * Authors and maintainers:
  *   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *   libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.7.0beta66, September 18, 2015: Glenn
+ *   libpng versions 0.97, January 1998, through 1.7.0beta66, October 2, 2015: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -252,7 +252,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.0.7, July 1, 2000, through 1.7.0beta66, September 18, 2015, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.7.0beta66, October 2, 2015, are
  * Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.0.6
  * with the following individuals added to the list of Contributing Authors:
@@ -361,7 +361,7 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    September 18, 2015
+ *    October 2, 2015
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
@@ -431,7 +431,7 @@
 /* Version information for png.h - this should match the version in png.c */
 #define PNG_LIBPNG_VER_STRING "1.7.0beta66"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.7.0beta66 - September 18, 2015\n"
+     " libpng version 1.7.0beta66 - October 2, 2015\n"
 
 #define PNG_LIBPNG_VER_SONUM   17
 #define PNG_LIBPNG_VER_DLLNUM  17
diff --git a/pngconf.h b/pngconf.h
index 396320e..9441685 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.7.0beta66, September 18, 2015
+ * libpng version 1.7.0beta66, October 2, 2015
  *
  * Copyright (c) 1998-2015 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtrans.c b/pngtrans.c
index 84a1bfb..ee07f4c 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1543,7 +1543,7 @@
       const png_uint_32 codes = tr->codes;
       png_uint_32 code = codes;
       unsigned int size, hwm, i;
-      png_byte output[32];
+      png_byte output[32] = { 0 };
 
       /* This catches an empty codes array, which would cause all the input to
        * be skipped and, potentially, a garbage output[] to be written (once) to
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index 52b85a0..587245c 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.7.0beta66 - September 18, 2015
+libpng version 1.7.0beta66 - October 2, 2015
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index cfdc24e..b65fbee 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.7.0beta66 - September 18, 2015
+ * libpng version 1.7.0beta66 - October 2, 2015
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index e2c3003..4df8f21 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,5 +1,5 @@
 
-Makefiles for  libpng version 1.7.0beta66 - September 18, 2015
+Makefiles for  libpng version 1.7.0beta66 - October 2, 2015
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
diff --git a/scripts/pnglibconf.h.prebuilt b/scripts/pnglibconf.h.prebuilt
index 0413b8e..fc20a3c 100644
--- a/scripts/pnglibconf.h.prebuilt
+++ b/scripts/pnglibconf.h.prebuilt
@@ -2,7 +2,7 @@
 
 /* pnglibconf.h - library build configuration */
 
-/* Libpng version 1.7.0beta66 - September 18, 2015 */
+/* Libpng version 1.7.0beta66 - October 2, 2015 */
 
 /* Copyright (c) 1998-2015 Glenn Randers-Pehrson */