diff options
-rw-r--r-- | pngrutil.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/pngrutil.c b/pngrutil.c index c4de582b8..3c7e0e62d 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -2123,8 +2123,9 @@ png_handle_hIST(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) num = length / 2 ; - if (num != (unsigned int) png_ptr->num_palette || - num > (unsigned int) PNG_MAX_PALETTE_LENGTH) + if (length != num * 2 || + num != (unsigned int)png_ptr->num_palette || + num > (unsigned int)PNG_MAX_PALETTE_LENGTH) { png_crc_finish(png_ptr, length); png_chunk_benign_error(png_ptr, "invalid"); |