From c4bd411c35290f9568da44a7faf7a09505db78db Mon Sep 17 00:00:00 2001 From: Qiang Zhou Date: Thu, 19 Dec 2019 18:33:21 +0800 Subject: [PATCH] Fix decode fail on image with invalid eXIf chunk --- pngrutil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pngrutil.c b/pngrutil.c index 4db3de990..a825f148c 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -2079,7 +2079,7 @@ png_handle_eXIf(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) if (i == 1 && buf[0] != 'M' && buf[0] != 'I' && info_ptr->eXIf_buf[0] != buf[0]) { - png_crc_finish(png_ptr, length); + png_crc_finish(png_ptr, length-i-1); png_chunk_benign_error(png_ptr, "incorrect byte-order specifier"); png_free(png_ptr, info_ptr->eXIf_buf); info_ptr->eXIf_buf = NULL;