[libpng16] Delay calling png_init_filter_functions() until a row with nonzero
filter is found.
diff --git a/ANNOUNCE b/ANNOUNCE
index 83588bc..7169970 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.6.4beta01 - July 21, 2013
+Libpng 1.6.4beta01 - August 21, 2013
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.
@@ -26,7 +26,9 @@
Changes since the last public release (1.6.3):
-Version 1.6.4beta01 [July 21, 2013]
+Version 1.6.4beta01 [August 21, 2013]
+ Delay calling png_init_filter_functions() until a row with nonzero filter
+ is found.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
diff --git a/CHANGES b/CHANGES
index cd4934e..c21b2d7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4618,7 +4618,9 @@
Added "/* SAFE */" comments in pngrutil.c and pngrtran.c where warnings
may be erroneously issued by code-checking applications.
-Version 1.6.4beta01 [July 21, 2013]
+Version 1.6.4beta01 [August 21, 2013]
+ Delay calling png_init_filter_functions() until a row with nonzero filter
+ is found.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
diff --git a/pngrutil.c b/pngrutil.c
index 0a75cd8..112c28f 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file
*
- * Last changed in libpng 1.6.3 [July 18, 2013]
+ * Last changed in libpng 1.6.4 [(PENDING RELEASE)]
* Copyright (c) 1998-2013 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.)
@@ -3922,10 +3922,13 @@
* PNG_FILTER_OPTIMIZATIONS to a function that overrides the generic
* implementations. See png_init_filter_functions above.
*/
- if (pp->read_filter[0] == NULL)
- png_init_filter_functions(pp);
if (filter > PNG_FILTER_VALUE_NONE && filter < PNG_FILTER_VALUE_LAST)
+ {
+ if (pp->read_filter[0] == NULL)
+ png_init_filter_functions(pp);
+
pp->read_filter[filter-1](row_info, row, prev_row);
+ }
}
#ifdef PNG_SEQUENTIAL_READ_SUPPORTED