File ImageMagick-CVE-2016-9559.patch of Package ImageMagick.29977
From b61d35eaccc0a7ddeff8a1c3abfcd0a43ccf210b Mon Sep 17 00:00:00 2001
From: Cristy <urban-warrior@imagemagick.org>
Date: Wed, 9 Nov 2016 15:57:28 -0500
Subject: [PATCH] https://github.com/ImageMagick/ImageMagick/issues/298
---
MagickCore/property.c | 4 ++--
coders/tiff.c | 43 ++++++++++++++++++++++++++++---------------
coders/txt.c | 3 +--
3 files changed, 31 insertions(+), 19 deletions(-)
Index: ImageMagick-6.8.9-8/coders/tiff.c
===================================================================
--- ImageMagick-6.8.9-8.orig/coders/tiff.c 2016-11-28 12:05:28.763364470 +0100
+++ ImageMagick-6.8.9-8/coders/tiff.c 2016-11-28 12:06:04.723960835 +0100
@@ -617,41 +617,54 @@ static void TIFFGetProperties(TIFF *tiff
uint32
count;
- if (TIFFGetField(tiff,TIFFTAG_ARTIST,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_ARTIST,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"tiff:artist",text);
- if (TIFFGetField(tiff,TIFFTAG_COPYRIGHT,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_COPYRIGHT,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"tiff:copyright",text);
- if (TIFFGetField(tiff,TIFFTAG_DATETIME,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_DATETIME,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"tiff:timestamp",text);
- if (TIFFGetField(tiff,TIFFTAG_DOCUMENTNAME,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_DOCUMENTNAME,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"tiff:document",text);
- if (TIFFGetField(tiff,TIFFTAG_HOSTCOMPUTER,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_HOSTCOMPUTER,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"tiff:hostcomputer",text);
- if (TIFFGetField(tiff,TIFFTAG_IMAGEDESCRIPTION,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_IMAGEDESCRIPTION,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"comment",text);
- if (TIFFGetField(tiff,TIFFTAG_MAKE,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_MAKE,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"tiff:make",text);
- if (TIFFGetField(tiff,TIFFTAG_MODEL,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_MODEL,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"tiff:model",text);
- if (TIFFGetField(tiff,TIFFTAG_OPIIMAGEID,&count,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_OPIIMAGEID,&count,&text) == 1) &&
+ (text != (char *) NULL))
{
if (count >= MaxTextExtent)
count=MaxTextExtent-1;
(void) CopyMagickString(message,text,count+1);
(void) SetImageProperty(image,"tiff:image-id",message);
}
- if (TIFFGetField(tiff,TIFFTAG_PAGENAME,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_PAGENAME,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"label",text);
- if (TIFFGetField(tiff,TIFFTAG_SOFTWARE,&text) == 1)
+ if ((TIFFGetField(tiff,TIFFTAG_SOFTWARE,&text) == 1) &&
+ (text != (char *) NULL))
(void) SetImageProperty(image,"tiff:software",text);
- if (TIFFGetField(tiff,33423,&count,&text) == 1)
+ if ((TIFFGetField(tiff,33423,&count,&text) == 1) &&
+ (text != (char *) NULL))
{
if (count >= MaxTextExtent)
count=MaxTextExtent-1;
(void) CopyMagickString(message,text,count+1);
(void) SetImageProperty(image,"tiff:kodak-33423",message);
}
- if (TIFFGetField(tiff,36867,&count,&text) == 1)
+ if ((TIFFGetField(tiff,36867,&count,&text) == 1) &&
+ (text != (char *) NULL))
{
if (count >= MaxTextExtent)
count=MaxTextExtent-1;