From 48e6fad71c2a858430418c8a192ef4a44f508462 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 27 Sep 2014 09:37:50 -0500 Subject: [PATCH] [libpng16] Fixed incorrect handling of the iTXt compression flag in pngrutil.c (bug report by Shunsaku Hirata). Bug was introduced in libpng-1.6.0. --- ANNOUNCE | 6 ++++-- CHANGES | 6 ++++-- pngrutil.c | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 4f49eb0a7..9bbdf05a1 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.14beta04 - September 19, 2014 +Libpng 1.6.14beta04 - September 27, 2014 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. @@ -47,7 +47,9 @@ Version 1.6.14beta03 [September 19, 2014] already defined. Revert floating point exception handling in pngvalid.c to version 1.6.14beta01 behavior. -Version 1.6.14beta04 [September 19, 2014] +Version 1.6.14beta04 [September 27, 2014] + Fixed incorrect handling of the iTXt compression flag in pngrutil.c + (bug report by Shunsaku Hirata). Bug was introduced in libpng-1.6.0. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index c704f32aa..e2cbcbfc1 100644 --- a/CHANGES +++ b/CHANGES @@ -4430,7 +4430,7 @@ Version 1.6.1beta05 [March 1, 2013] Version 1.6.1beta06 [March 4, 2013] Better documentation of unknown handling API interactions. Corrected Android builds and corrected libpng.vers with symbol - prefixing This adds an API to set optimization options externally, + prefixing. This adds an API to set optimization options externally, providing an alternative and general solution for the non-portable run-time tests used by the ARM Neon code. It also makes those tests compile and link on Android. @@ -5000,7 +5000,9 @@ Version 1.6.14beta03 [September 19, 2014] already defined. Revert floating point exception handling in pngvalid.c to version 1.6.14beta01 behavior. -Version 1.6.14beta04 [September 19, 2014] +Version 1.6.14beta04 [September 27, 2014] + Fixed incorrect handling of the iTXt compression flag in pngrutil.c + (bug report by Shunsaku Hirata). Bug was introduced in libpng-1.6.0. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/pngrutil.c b/pngrutil.c index 0a80c2b18..623333c69 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -2671,7 +2671,7 @@ png_handle_iTXt(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) buffer[uncompressed_length+prefix_length] = 0; - if (compressed != 0) + if (compressed == 0) text.compression = PNG_ITXT_COMPRESSION_NONE; else @@ -3330,7 +3330,7 @@ png_combine_row(png_const_structrp png_ptr, png_bytep dp, int display) /* This can only be the RGB case, so each copy is exactly one * pixel and it is not necessary to check for a partial copy. */ - for(;;) + for (;;) { dp[0] = sp[0], dp[1] = sp[1], dp[2] = sp[2];