From 157f0f5661359991f7f32282523ab3d747c5d6a8 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Mon, 19 Mar 2018 23:06:43 +0100 Subject: [PATCH] Added extra checks (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5801). --- coders/rla.c | 4 ++++ 1 file changed, 4 insertions(+) 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; -- 2.40.0