Fixed size of memory allocation to avoid segfault (Github: #32).
diff --git a/coders/rle.c b/coders/rle.c
index 05da9aa..123ff8a 100644
--- a/coders/rle.c
+++ b/coders/rle.c
@@ -201,10 +201,7 @@
image=AcquireImage(image_info,exception);
status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception);
if (status == MagickFalse)
- {
- image=DestroyImageList(image);
- return((Image *) NULL);
- }
+ return(DestroyImageList(image));
/*
Determine if this a RLE file.
*/
@@ -313,7 +310,7 @@
number_pixels=(MagickSizeType) image->columns*image->rows;
if ((number_pixels*number_planes) != (size_t) (number_pixels*number_planes))
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
- pixel_info_length=image->columns*image->rows*MagickMax(number_planes,4);
+ pixel_info_length=image->columns*image->rows*number_planes;
pixel_info=AcquireVirtualMemory(pixel_info_length,sizeof(*pixels));
if (pixel_info == (MemoryInfo *) NULL)
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");