diff --git a/coders/rle.c b/coders/rle.c index 346f790e88..dddfc4cdad 100644 --- a/coders/rle.c +++ b/coders/rle.c @@ -340,8 +340,8 @@ static Image *ReadRLEImage(const ImageInfo *image_info,ExceptionInfo *exception) */ number_planes_filled=(number_planes % 2 == 0) ? number_planes : number_planes+1; - if ((number_pixels*number_planes_filled) != - (MagickSizeType) (((size_t) number_pixels*number_planes_filled))) + if (HeapOverflowSanityCheckGetSize(number_planes_filled, + (size_t) number_pixels,(size_t *) NULL) != MagickFalse) ThrowRLEException(ResourceLimitError,"MemoryAllocationFailed"); pixel_info=AcquireVirtualMemory(image->columns,image->rows* MagickMax(number_planes_filled,4)*sizeof(*pixels)); diff --git a/coders/sgi.c b/coders/sgi.c index 2cbdfe527b..87ef1ae0b1 100644 --- a/coders/sgi.c +++ b/coders/sgi.c @@ -386,8 +386,8 @@ static Image *ReadSGIImage(const ImageInfo *image_info,ExceptionInfo *exception) */ bytes_per_pixel=(size_t) iris_info.bytes_per_pixel; number_pixels=(MagickSizeType) iris_info.columns*iris_info.rows; - if ((4*bytes_per_pixel*number_pixels) != - ((MagickSizeType) ((size_t) (4*bytes_per_pixel*number_pixels)))) + if (HeapOverflowSanityCheckGetSize(4*bytes_per_pixel,(size_t) number_pixels, + (size_t *) NULL) != MagickFalse) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixel_info=AcquireVirtualMemory(iris_info.columns,iris_info.rows*4* bytes_per_pixel*sizeof(*pixels));