From c9537454d3b34b8516f5c16fcb78ecc6277380b5 Mon Sep 17 00:00:00 2001 From: Cristy Date: Thu, 18 Apr 2019 07:04:54 -0400 Subject: [PATCH] ... --- coders/xwd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/coders/xwd.c b/coders/xwd.c index 5ecbc34c5..b6f26ec7b 100644 --- a/coders/xwd.c +++ b/coders/xwd.c @@ -251,7 +251,7 @@ static Image *ReadXWDImage(const ImageInfo *image_info,ExceptionInfo *exception) case PseudoColor: { if ((header.bits_per_pixel < 1) || (header.bits_per_pixel > 15) || - (header.colormap_entries == 0)) + (header.ncolors == 0)) ThrowReaderException(CorruptImageError,"ImproperImageHeader"); break; } @@ -318,6 +318,8 @@ static Image *ReadXWDImage(const ImageInfo *image_info,ExceptionInfo *exception) default: ThrowReaderException(CorruptImageError,"ImproperImageHeader"); } + if (header.ncolors > 65535) + ThrowReaderException(CorruptImageError,"ImproperImageHeader"); if (((header.bitmap_pad % 8) != 0) || (header.bitmap_pad > 32)) ThrowReaderException(CorruptImageError,"ImproperImageHeader"); length=(size_t) (header.header_size-sz_XWDheader); -- 2.40.0