From 070a0eb58f0ffe22c894cf7f638993573fb17d1f Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 14 Nov 2015 16:45:26 -0600 Subject: [PATCH] [libpng16] Revised recent pngrutil.c patch as suggested by pascal --- pngrutil.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pngrutil.c b/pngrutil.c index 03e65e3e3..9f6e31018 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1670,7 +1670,7 @@ png_handle_sPLT(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) ++entry_start; /* A sample depth should follow the separator, and we should be on it */ - if (length < 2 || entry_start > buffer + length - 2) + if (length < 2 || (size_t)(entry_start - buffer) > length - 2) { png_warning(png_ptr, "malformed sPLT chunk"); return; @@ -2174,7 +2174,7 @@ png_handle_pCAL(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) /* We need to have at least 12 bytes after the purpose string * in order to get the parameter information. */ - if (length < 12 || endptr <= buf + 12) + if (length < 12 || (size_t)(endptr - buf) <= 12) { png_chunk_benign_error(png_ptr, "invalid"); return;