Commit 4dd72bed5 for imagemagick.org

commit 4dd72bed575de5093244e2ab17d704cd26144323
Author: Cristy <urban-warrior@imagemagick.org>
Date:   Tue Nov 10 14:58:07 2026 -0500

    https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-rm4h-gcc3-55wx

diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c
index 4d6f4d532..9ce54c536 100644
--- a/MagickCore/constitute.c
+++ b/MagickCore/constitute.c
@@ -805,12 +805,15 @@ static Image *ReadImageInternal(const ImageInfo *image_info,
       read_info=DestroyImageInfo(read_info);
       return(image);
     }
-  if (exception->severity >= ErrorException)
-    (void) LogMagickEvent(ExceptionEvent,GetMagickModule(),
-      "Coder (%s) generated an image despite an error (%d), "
-      "notify the developers",image->magick,exception->severity);
   if (IsBlobTemporary(image) != MagickFalse)
     (void) RelinquishUniqueFileResource(read_info->filename);
+  if (exception->severity >= ErrorException)
+    {
+      (void) LogMagickEvent(ExceptionEvent,GetMagickModule(),
+        "Coder (%s) generated an image despite an error (%d), "
+        "notify the developers",image->magick,exception->severity);
+      return(DestroyImageList(image));
+    }
   if (read_info->ping != MagickFalse)
     {
       for (next=image; next != (Image *) NULL; next=GetNextImageInList(next))
diff --git a/coders/fits.c b/coders/fits.c
index 6bdf97426..3819bf5dc 100644
--- a/coders/fits.c
+++ b/coders/fits.c
@@ -458,8 +458,12 @@ static Image *ReadFITSImage(const ImageInfo *image_info,
         comment=DestroyString(comment);
       }
     if (EOFBlob(image) != MagickFalse)
-      ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",
-        image->filename);
+      {
+        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",
+          image->filename);
+        status=MagickFalse;
+        break;
+      }
     number_pixels=((MagickSizeType) fits_info.columns*fits_info.rows);
     if ((fits_info.simple == MagickFalse) || (fits_info.number_axes < 1) ||
         (fits_info.number_axes > 4) || (number_pixels == 0) ||
@@ -540,6 +544,7 @@ static Image *ReadFITSImage(const ImageInfo *image_info,
         {
           ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",
             image->filename);
+          status=MagickFalse;
           break;
         }
       /*
@@ -575,6 +580,7 @@ static Image *ReadFITSImage(const ImageInfo *image_info,
       {
         ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",
           image->filename);
+        status=MagickFalse;
         break;
       }
     /*
diff --git a/coders/pgx.c b/coders/pgx.c
index 896834c6c..b5fc9316e 100644
--- a/coders/pgx.c
+++ b/coders/pgx.c
@@ -236,8 +236,11 @@ static Image *ReadPGXImage(const ImageInfo *image_info,ExceptionInfo *exception)
   SetQuantumImageType(image,GrayQuantum);
   quantum_info=DestroyQuantumInfo(quantum_info);
   if (EOFBlob(image) != MagickFalse)
-    ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",
-      image->filename);
+    {
+      ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",
+        image->filename);
+      status=MagickFalse;
+    }
   if (CloseBlob(image) == MagickFalse)
     status=MagickFalse;
   if (status == MagickFalse)