aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2016-11-22 01:47:57 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-11-22 01:47:57 +0000
commit7b9776ce72e82348dacbc5dfa84b75b064c3d4b2 (patch)
treef12fbd4645febaef021d96a86938daa7c317fd93
parentbfe461ffa300897733855fb4ecab89984d7c4a29 (diff)
parent9352c761c08104c93594e9821fcaa6a91d0e2812 (diff)
downloadlibpng-7b9776ce72e82348dacbc5dfa84b75b064c3d4b2.tar.gz
Merge "[libpng16] Revert ADLER32 error handling in pngrutil.c and pngpread.c." am: b65760761b
am: 9352c761c0 Change-Id: I00796f91c652b52e06c0130ed48d274b25ecdc6b
-rw-r--r--README.android4
-rw-r--r--pngpread.c7
-rw-r--r--pngrutil.c10
3 files changed, 6 insertions, 15 deletions
diff --git a/README.android b/README.android
index f6062c609..32fb665f9 100644
--- a/README.android
+++ b/README.android
@@ -21,3 +21,7 @@ be listed here:
in contrib/intel/intel_sse.patch.
The patch was applied using the following command:
'patch -i contrib/intel/intel_sse.patch -p1'
+
+(5) Revert ADLER32 error handling to fix the infinite loop
+Cherry picked from upstream:
+https://github.com/glennrp/libpng/commit/d65a92b951079d315e17e20ba9e7b8423d19397e
diff --git a/pngpread.c b/pngpread.c
index 650ba1e23..794352f42 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -684,12 +684,7 @@ png_process_IDAT_data(png_structrp png_ptr, png_bytep buffer,
png_warning(png_ptr, "Truncated compressed data in IDAT");
else
- {
- if (ret == Z_DATA_ERROR)
- png_benign_error(png_ptr, "IDAT: ADLER32 checksum mismatch");
- else
- png_error(png_ptr, "Decompression error in IDAT");
- }
+ png_error(png_ptr, "Decompression error in IDAT");
/* Skip the check on unprocessed input */
return;
diff --git a/pngrutil.c b/pngrutil.c
index fb5f5f083..339036749 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -4107,15 +4107,7 @@ png_read_IDAT_data(png_structrp png_ptr, png_bytep output,
png_zstream_error(png_ptr, ret);
if (output != NULL)
- {
- if(!strncmp(png_ptr->zstream.msg,"incorrect data check",20))
- {
- png_chunk_benign_error(png_ptr, "ADLER32 checksum mismatch");
- continue;
- }
- else
- png_chunk_error(png_ptr, png_ptr->zstream.msg);
- }
+ png_chunk_error(png_ptr, png_ptr->zstream.msg);
else /* checking */
{