Skip to content

Commit 66e283e

Browse files
author
Cristy
committed
...
1 parent d4ec73f commit 66e283e

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

Diff for: ChangeLog

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
2017-01-10 7.0.4-4 Cristy <quetzlzacatenango@image...>
22
* Recognize XML policy closing tags (reference
33
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=31182).
4+
* Fix memory leak in the MPC format.
45

56
2017-01-07 7.0.4-3 Cristy <quetzlzacatenango@image...>
67
* Release ImageMagick version 7.0.4-3, GIT revision 19329:930ca78:20170107.

Diff for: coders/mpc.c

+7-4
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
#include "MagickCore/profile.h"
6767
#include "MagickCore/property.h"
6868
#include "MagickCore/quantum-private.h"
69+
#include "MagickCore/resource.h"
6970
#include "MagickCore/static.h"
7071
#include "MagickCore/statistic.h"
7172
#include "MagickCore/string_.h"
@@ -834,7 +835,9 @@ static Image *ReadMPCImage(const ImageInfo *image_info,ExceptionInfo *exception)
834835
/*
835836
Create image colormap.
836837
*/
837-
if (AcquireImageColormap(image,image->colors,exception) == MagickFalse)
838+
image->colormap=(PixelInfo *) AcquireQuantumMemory(image->colors+1,
839+
sizeof(*image->colormap));
840+
if (image->colormap == (PixelInfo *) NULL)
838841
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
839842
if (image->colors != 0)
840843
{
@@ -923,9 +926,9 @@ static Image *ReadMPCImage(const ImageInfo *image_info,ExceptionInfo *exception)
923926
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
924927
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
925928
break;
926-
status=SetImageExtent(image,image->columns,image->rows,exception);
927-
if (status == MagickFalse)
928-
return(DestroyImageList(image));
929+
if ((AcquireMagickResource(WidthResource,image->columns) == MagickFalse) ||
930+
(AcquireMagickResource(HeightResource,image->rows) == MagickFalse))
931+
ThrowReaderException(ImageError,"WidthOrHeightExceedsLimit");
929932
/*
930933
Attach persistent pixel cache.
931934
*/

0 commit comments

Comments
 (0)