]> granicus.if.org Git - imagemagick/commitdiff
Eliminate out-of-memory for DDS coder
authorCristy <urban-warrior@imagemagick.org>
Thu, 25 Jan 2018 00:27:25 +0000 (19:27 -0500)
committerCristy <urban-warrior@imagemagick.org>
Thu, 25 Jan 2018 00:27:25 +0000 (19:27 -0500)
Credit Fuzz OSS

coders/dds.c

index b82e5f119b74a652d1b27d0caf9ae7906e24cdd4..92e3a80d01ca84181a5f267b9e824efb634e7887 100644 (file)
@@ -1792,7 +1792,7 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
   if (volume)
     num_images = dds_info.depth;
 
-  if (num_images < 1)
+  if ((num_images == 0) || (num_images > GetBlobSize(image)))
     ThrowReaderException(CorruptImageError,"ImproperImageHeader");
 
   option=GetImageOption(image_info,"dds:skip-mipmaps");