[libpng15] Reject invalid compression flag, method when reading the iTXt chunk.
diff --git a/ANNOUNCE b/ANNOUNCE
index 6c2660b..95a7b1a 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -105,7 +105,7 @@
(Frank Busse).
Allow row_stride==0 to indicate default stride in simplified API.
Added MINGW support to CMakeLists.txt
- Reject invalid compression flag when reading the iTXt chunk.
+ Reject invalid compression flag or method when reading the iTXt chunk.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
(subscription required; visit
diff --git a/CHANGES b/CHANGES
index 752961c..8242dbe 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3750,7 +3750,7 @@
(Frank Busse).
Allow row_stride==0 to indicate default stride in simplified API.
Added MINGW support to CMakeLists.txt
- Reject invalid compression flag when reading the iTXt chunk.
+ Reject invalid compression flag or method when reading the iTXt chunk.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
diff --git a/png.h b/png.h
index 1b07769..bcb5610 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.5.7beta05 - November 21, 2011
+ * libpng version 1.5.7beta05 - November 22, 2011
* Copyright (c) 1998-2011 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.)
@@ -11,7 +11,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.5.7beta05 - November 21, 2011: Glenn
+ * libpng versions 0.97, January 1998, through 1.5.7beta05 - November 22, 2011: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -195,7 +195,7 @@
*
* This code is released under the libpng license.
*
- * libpng versions 1.2.6, August 15, 2004, through 1.5.7beta05, November 21, 2011, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.7beta05, November 22, 2011, are
* Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors:
@@ -307,7 +307,7 @@
* Y2K compliance in libpng:
* =========================
*
- * November 21, 2011
+ * November 22, 2011
*
* Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration.
@@ -373,7 +373,7 @@
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.5.7beta05"
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.5.7beta05 - November 21, 2011\n"
+ " libpng version 1.5.7beta05 - November 22, 2011\n"
#define PNG_LIBPNG_VER_SONUM 15
#define PNG_LIBPNG_VER_DLLNUM 15
@@ -620,7 +620,9 @@
* default without iTXt support. Also note that when iTXt *is* supported,
* the "lang" and "lang_key" fields contain NULL pointers when the
* "compression" field contains * PNG_TEXT_COMPRESSION_NONE or
- * PNG_TEXT_COMPRESSION_zTXt.
+ * PNG_TEXT_COMPRESSION_zTXt. Note that the "compression value" is not the
+ * same as what appears in the PNG tEXt/zTXt/iTXt chunk's "compression flag"
+ * which is always 0 or 1, or its "compression method" which is always 0.
*/
typedef struct png_text_struct
{
diff --git a/pngrutil.c b/pngrutil.c
index 16c6280..6809382 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -2540,9 +2540,9 @@
comp_type = *lang++;
}
- if (comp_flag && comp_flag != PNG_TEXT_COMPRESSION_zTXt)
+ if (comp_type || (comp_flag && comp_flag != PNG_TEXT_COMPRESSION_zTXt))
{
- png_warning(png_ptr, "Unknown iTXt compression type");
+ png_warning(png_ptr, "Unknown iTXt compression type or method");
png_free(png_ptr, png_ptr->chunkdata);
png_ptr->chunkdata = NULL;
return;