Use HeapOverflowSanityCheckGetSize to check for overflow instead.

This commit is contained in:
Dirk Lemstra
2025-04-05 15:06:28 +02:00
parent 84c2b58531
commit 6c19acd378
2 changed files with 4 additions and 4 deletions
+2 -2
View File
@@ -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));
+2 -2
View File
@@ -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));