File GraphicsMagick-CVE-2016-10068.patch of Package GraphicsMagick.7782
From 56d6e20de489113617cbbddaf41e92600a34db22 Mon Sep 17 00:00:00 2001
From: Cristy <urban-warrior@imagemagick.org>
Date: Wed, 2 Nov 2016 17:07:05 -0400
Subject: [PATCH] Prevent fault in MSL interpreter
---
ChangeLog | 2 ++
coders/msl.c | 2 ++
2 files changed, 4 insertions(+)
Index: GraphicsMagick-1.3.25/coders/msl.c
===================================================================
--- GraphicsMagick-1.3.25.orig/coders/msl.c 2016-09-05 21:20:23.000000000 +0200
+++ GraphicsMagick-1.3.25/coders/msl.c 2017-01-25 17:01:13.498901943 +0100
@@ -2536,6 +2536,9 @@ MSLStartElement(void *context,const xmlC
Image
*next_image;
+ if (value == (char *) NULL)
+ break;
+
(void) strlcpy(msl_info->image_info[n]->filename,
value,
sizeof(msl_info->image_info[n]->filename));
@@ -2654,18 +2657,19 @@ MSLStartElement(void *context,const xmlC
}
else if (LocaleCompare((char *) name,"resize") == 0)
{
- /* init the values */
- width=msl_info->image[n]->columns;
- height=msl_info->image[n]->rows;
- x=0;
- y=0;
-
if (msl_info->image[n] == (Image *) NULL)
{
ThrowException(msl_info->exception,OptionError,
NoImagesDefined,(char *) name);
break;
}
+
+ /* init the values */
+ width=msl_info->image[n]->columns;
+ height=msl_info->image[n]->rows;
+ x=0;
+ y=0;
+
if (attributes == (const xmlChar **) NULL)
break;
for (i=0; (attributes[i] != (const xmlChar *) NULL); i++)