File GraphicsMagick-CVE-2016-7101.patch of Package GraphicsMagick.7727
Index: GraphicsMagick-1.3.25/coders/sgi.c
===================================================================
--- GraphicsMagick-1.3.25.orig/coders/sgi.c 2016-09-05 21:20:23.000000000 +0200
+++ GraphicsMagick-1.3.25/coders/sgi.c 2016-11-29 15:48:55.816935334 +0100
@@ -299,6 +299,8 @@ static Image *ReadSGIImage(const ImageIn
size_t
bytes_per_pixel;
+ size_t count;
+
/*
Open image file.
*/
@@ -332,12 +334,16 @@ static Image *ReadSGIImage(const ImageIn
(void) ReadBlob(image,(unsigned int) sizeof(iris_info.dummy1),
iris_info.dummy1);
- (void) ReadBlob(image,(unsigned int) sizeof(iris_info.image_name),
- iris_info.image_name);
+ count=ReadBlob(image,(unsigned int) sizeof(iris_info.image_name),
+ iris_info.image_name);
+ if (count != sizeof(iris_info.image_name))
+ ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
iris_info.image_name[sizeof(iris_info.image_name)-1]=0;
iris_info.color_map=ReadBlobMSBLong(image);
- (void) ReadBlob(image,(unsigned int) sizeof(iris_info.dummy2),
- iris_info.dummy2);
+ count=ReadBlob(image,(unsigned int) sizeof(iris_info.dummy2),
+ iris_info.dummy2);
+ if (count != sizeof(iris_info.dummy2))
+ ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" Header: Storage=%u, BPC=%u, Dimension=%u, "