Commit e7c72ae64 for imagemagick.org
commit e7c72ae641799ecca247b8588a3279bc6b2008e6
Author: Cristy <urban-warrior@imagemagick.org>
Date: Sat Jun 13 09:59:21 2026 -0400
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-cvm9-xf3r-5jc7
diff --git a/coders/icon.c b/coders/icon.c
index 6529cfbf6..24ec665d6 100644
--- a/coders/icon.c
+++ b/coders/icon.c
@@ -257,6 +257,8 @@ static Image *Read1XImage(Image *image,ExceptionInfo *exception)
}
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
+ if (EOFBlob(image) != MagickFalse)
+ break;
}
}
if (SyncImage(image,exception) == MagickFalse)
@@ -591,6 +593,8 @@ static Image *ReadICONImage(const ImageInfo *image_info,
(void) ReadBlobByte(image);
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
+ if (EOFBlob(image) != MagickFalse)
+ break;
if (image->previous == (Image *) NULL)
{
status=SetImageProgress(image,LoadImageTag,(MagickOffsetType)
@@ -629,6 +633,8 @@ static Image *ReadICONImage(const ImageInfo *image_info,
(void) ReadBlobByte(image);
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
+ if (EOFBlob(image) != MagickFalse)
+ break;
if (image->previous == (Image *) NULL)
{
status=SetImageProgress(image,LoadImageTag,(MagickOffsetType)
@@ -659,6 +665,8 @@ static Image *ReadICONImage(const ImageInfo *image_info,
(void) ReadBlobByte(image);
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
+ if (EOFBlob(image) != MagickFalse)
+ break;
if (image->previous == (Image *) NULL)
{
status=SetImageProgress(image,LoadImageTag,(MagickOffsetType)
@@ -690,6 +698,8 @@ static Image *ReadICONImage(const ImageInfo *image_info,
(void) ReadBlobByte(image);
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
+ if (EOFBlob(image) != MagickFalse)
+ break;
if (image->previous == (Image *) NULL)
{
status=SetImageProgress(image,LoadImageTag,(MagickOffsetType)
@@ -729,6 +739,8 @@ static Image *ReadICONImage(const ImageInfo *image_info,
(void) ReadBlobByte(image);
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
+ if (EOFBlob(image) != MagickFalse)
+ break;
if (image->previous == (Image *) NULL)
{
status=SetImageProgress(image,LoadImageTag,(MagickOffsetType)
@@ -780,6 +792,8 @@ static Image *ReadICONImage(const ImageInfo *image_info,
(void) ReadBlobByte(image);
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
+ if (EOFBlob(image) != MagickFalse)
+ break;
}
}
if (EOFBlob(image) != MagickFalse)