From: Dirk Lemstra Date: Mon, 19 Mar 2018 22:06:43 +0000 (+0100) Subject: Added extra checks (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5801). X-Git-Tag: 7.0.7-28~64 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=157f0f5661359991f7f32282523ab3d747c5d6a8;p=imagemagick Added extra checks (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5801). --- diff --git a/coders/rla.c b/coders/rla.c index 645e856f8..a34007239 100644 --- a/coders/rla.c +++ b/coders/rla.c @@ -216,7 +216,11 @@ static Image *ReadRLAImage(const ImageInfo *image_info,ExceptionInfo *exception) rla_info.frame=(short) ReadBlobMSBShort(image); rla_info.storage_type=(short) ReadBlobMSBShort(image); rla_info.number_channels=(short) ReadBlobMSBShort(image); + if (rla_info.number_channels < 0) + ThrowReaderException(CorruptImageError,"ImproperImageHeader"); rla_info.number_matte_channels=(short) ReadBlobMSBShort(image); + if (rla_info.number_matte_channels < 0) + ThrowReaderException(CorruptImageError,"ImproperImageHeader"); if (rla_info.number_channels == 0) rla_info.number_channels=3; rla_info.number_channels+=rla_info.number_matte_channels;