File ImageMagick-CVE-2017-12805.patch of Package ImageMagick.12053
Index: ImageMagick-6.8.8-1/coders/tiff.c
===================================================================
--- ImageMagick-6.8.8-1.orig/coders/tiff.c 2019-05-17 10:23:06.160794783 +0200
+++ ImageMagick-6.8.8-1/coders/tiff.c 2019-05-17 10:24:43.965281913 +0200
@@ -1405,26 +1405,26 @@ RestoreMSCWarning
}
}
quantum_type=IndexQuantum;
- pad=(size_t) MagickMax((size_t) samples_per_pixel-1,0);
+ pad=(size_t) MagickMax((ssize_t) samples_per_pixel-1,0);
if (image->matte != MagickFalse)
{
if (image->storage_class != PseudoClass)
{
quantum_type=samples_per_pixel == 1 ? AlphaQuantum :
GrayAlphaQuantum;
- pad=(size_t) MagickMax((size_t) samples_per_pixel-2,0);
+ pad=(size_t) MagickMax((ssize_t) samples_per_pixel-2,0);
}
else
{
quantum_type=IndexAlphaQuantum;
- pad=(size_t) MagickMax((size_t) samples_per_pixel-2,0);
+ pad=(size_t) MagickMax((ssize_t) samples_per_pixel-2,0);
}
}
else
if (image->storage_class != PseudoClass)
{
quantum_type=GrayQuantum;
- pad=(size_t) MagickMax((size_t) samples_per_pixel-1,0);
+ pad=(size_t) MagickMax((ssize_t) samples_per_pixel-1,0);
}
status=SetQuantumPad(image,quantum_info,pad*pow(2,ceil(log(
bits_per_sample)/log(2))));
@@ -1464,21 +1464,21 @@ RestoreMSCWarning
/*
Convert TIFF image to DirectClass MIFF image.
*/
- pad=(size_t) MagickMax((size_t) samples_per_pixel-3,0);
+ pad=(size_t) MagickMax((ssize_t) samples_per_pixel-3,0);
quantum_type=RGBQuantum;
if (image->matte != MagickFalse)
{
quantum_type=RGBAQuantum;
- pad=(size_t) MagickMax((size_t) samples_per_pixel-4,0);
+ pad=(size_t) MagickMax((ssize_t) samples_per_pixel-4,0);
}
if (image->colorspace == CMYKColorspace)
{
- pad=(size_t) MagickMax((size_t) samples_per_pixel-4,0);
+ pad=(size_t) MagickMax((ssize_t) samples_per_pixel-4,0);
quantum_type=CMYKQuantum;
if (image->matte != MagickFalse)
{
quantum_type=CMYKAQuantum;
- pad=(size_t) MagickMax((size_t) samples_per_pixel-5,0);
+ pad=(size_t) MagickMax((ssize_t) samples_per_pixel-5,0);
}
}
status=SetQuantumPad(image,quantum_info,pad*((bits_per_sample+7) >> 3));