Commit 3285d692e for imagemagick.org
commit 3285d692ebf200e9cbeff59d1ccc00caab99ad54
Author: Cristy <urban-warrior@imagemagick.org>
Date: Fri Sep 18 09:43:06 2026 -0400
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-j39j-wmxg-j8mv
diff --git a/coders/pdf.c b/coders/pdf.c
index 11440d37a..0add40afb 100644
--- a/coders/pdf.c
+++ b/coders/pdf.c
@@ -1679,9 +1679,17 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image,
kid_image=image;
for ( ; GetNextImageInList(kid_image) != (Image *) NULL; count+=ObjectsPerImage)
{
+ CompressionType
+ kid_compression;
+
page_count++;
+ kid_compression=kid_image->compression;
+ if (image_info->compression != UndefinedCompression)
+ kid_compression=image_info->compression;
icc_profile=GetCompatibleColorProfile(kid_image);
- if (icc_profile != (StringInfo *) NULL)
+ if ((icc_profile != (StringInfo *) NULL) &&
+ ((kid_compression != JPEG2000Compression) ||
+ (IssRGBCompatibleColorspace(kid_image->colorspace) != MagickFalse)))
count+=2;
(void) FormatLocaleString(buffer,MagickPathExtent,"%.17g 0 R ",(double)
count);
@@ -1709,7 +1717,6 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image,
MagickBooleanType
thumbnail;
- icc_profile=GetCompatibleColorProfile(image);
compression=image->compression;
if (image_info->compression != UndefinedCompression)
compression=image_info->compression;
@@ -1770,7 +1777,8 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image,
}
if (compression == JPEG2000Compression)
if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
- (void) TransformImageColorspace(image,sRGBColorspace,exception);
+ (void) TransformImageColorspace(image,sRGBColorspace,exception);
+ icc_profile=GetCompatibleColorProfile(image);
/*
Scale relative to dots-per-inch.
*/