File ImageMagick-CVE-2017-12662.patch of Package ImageMagick.9182
From 73a2bad43d157acfe360595feee739b4cc4406cb Mon Sep 17 00:00:00 2001
From: Cristy <urban-warrior@imagemagick.org>
Date: Mon, 17 Jul 2017 19:17:50 -0400
Subject: [PATCH] https://github.com/ImageMagick/ImageMagick/issues/576
---
coders/pdf.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/coders/pdf.c b/coders/pdf.c
index 43ce3c2da2..d018096733 100644
--- a/coders/pdf.c
+++ b/coders/pdf.c
@@ -2004,7 +2004,11 @@ RestoreMSCWarning
length*=image->colorspace == CMYKColorspace ? 4UL : 3UL;
pixel_info=AcquireVirtualMemory(length,sizeof(*pixels));
if (pixel_info == (MemoryInfo *) NULL)
- ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
+ {
+ xref=(MagickOffsetType *) RelinquishMagickMemory(xref);
+ ThrowWriterException(ResourceLimitError,
+ "MemoryAllocationFailed");
+ }
pixels=(unsigned char *) GetVirtualMemoryBlob(pixel_info);
/*
Dump runlength encoded pixels.
@@ -2106,8 +2110,11 @@ RestoreMSCWarning
length=(size_t) number_pixels;
pixel_info=AcquireVirtualMemory(length,sizeof(*pixels));
if (pixel_info == (MemoryInfo *) NULL)
- ThrowWriterException(ResourceLimitError,
- "MemoryAllocationFailed");
+ {
+ xref=(MagickOffsetType *) RelinquishMagickMemory(xref);
+ ThrowWriterException(ResourceLimitError,
+ "MemoryAllocationFailed");
+ }
pixels=(unsigned char *) GetVirtualMemoryBlob(pixel_info);
/*
Dump runlength encoded pixels.