]> granicus.if.org Git - imagemagick/commitdiff
Only support up to 3 channels.
authorDirk Lemstra <dirk@git.imagemagick.org>
Sat, 31 Mar 2018 06:24:32 +0000 (08:24 +0200)
committerDirk Lemstra <dirk@git.imagemagick.org>
Sat, 31 Mar 2018 06:24:32 +0000 (08:24 +0200)
coders/rla.c

index a34007239cb7915306072142d543eabd745e107e..f3fab923b5a24cb65c88eb0e7a8cec26cc39c8de 100644 (file)
@@ -221,6 +221,8 @@ static Image *ReadRLAImage(const ImageInfo *image_info,ExceptionInfo *exception)
   rla_info.number_matte_channels=(short) ReadBlobMSBShort(image);
   if (rla_info.number_matte_channels < 0)
     ThrowReaderException(CorruptImageError,"ImproperImageHeader");
+  if ((rla_info.number_channels > 3) || (rla_info.number_matte_channels > 3))
+    ThrowReaderException(CoderError,"Unsupported number of channels");
   if (rla_info.number_channels == 0)
     rla_info.number_channels=3;
   rla_info.number_channels+=rla_info.number_matte_channels;