File ImageMagick-CVE-2026-25985.patch of Package ImageMagick.42997

From 1a51eb9af00c36724660e294520878fd1f13e312 Mon Sep 17 00:00:00 2001
From: Cristy <urban-warrior@imagemagick.org>
Date: Sat, 7 Feb 2026 22:30:57 -0500
Subject: [PATCH] 
 https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-v7g2-m8c5-mf84

---
 MagickCore/draw.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Index: ImageMagick-7.1.1-21/MagickCore/draw.c
===================================================================
--- ImageMagick-7.1.1-21.orig/MagickCore/draw.c
+++ ImageMagick-7.1.1-21/MagickCore/draw.c
@@ -2290,7 +2290,7 @@ static MagickBooleanType CheckPrimitiveE
   extent=(double) mvg_info->offset+pad+(PrimitiveExtentPad+1)*(double) quantum;
   if (extent <= (double) *mvg_info->extent)
     return(MagickTrue);
-  if ((extent >= (double) MAGICK_SSIZE_MAX) || (IsNaN(extent) != 0))
+  if ((extent >= (double) GetMaxMemoryRequest()) || (IsNaN(extent) != 0))
     return(MagickFalse);
   if (mvg_info->offset > 0)
     {
@@ -6398,7 +6398,7 @@ static MagickBooleanType TraceBezier(MVG
     for (j=i+1; j < (ssize_t) number_coordinates; j++)
     {
       alpha=fabs(primitive_info[j].point.x-primitive_info[i].point.x);
-      if (alpha > (double) MAGICK_SSIZE_MAX)
+      if (alpha > (double) GetMaxMemoryRequest())
         {
           (void) ThrowMagickException(mvg_info->exception,GetMagickModule(),
             ResourceLimitError,"MemoryAllocationFailed","`%s'","");
@@ -6407,18 +6407,18 @@ static MagickBooleanType TraceBezier(MVG
       if (alpha > (double) quantum)
         quantum=(size_t) alpha;
       alpha=fabs(primitive_info[j].point.y-primitive_info[i].point.y);
-      if (alpha > (double) MAGICK_SSIZE_MAX)
-        {
-          (void) ThrowMagickException(mvg_info->exception,GetMagickModule(),
-            ResourceLimitError,"MemoryAllocationFailed","`%s'","");
-          return(MagickFalse);
-        }
       if (alpha > (double) quantum)
         quantum=(size_t) alpha;
     }
   }
   primitive_info=(*mvg_info->primitive_info)+mvg_info->offset;
   quantum=MagickMin(quantum/number_coordinates,BezierQuantum);
+  if (quantum > (double) GetMaxMemoryRequest())
+    {
+      (void) ThrowMagickException(mvg_info->exception,GetMagickModule(),
+        ResourceLimitError,"MemoryAllocationFailed","`%s'","");
+      return(MagickFalse);
+    }
   coefficients=(double *) AcquireQuantumMemory(number_coordinates,
     sizeof(*coefficients));
   points=(PointInfo *) AcquireQuantumMemory(quantum,number_coordinates*
openSUSE Build Service is sponsored by