From 3d653bea2df085c728a1c8f775808e1e9249dff9 Mon Sep 17 00:00:00 2001
From: Cristy <urban-warrior@imagemagick.org>
Date: Thu, 9 Apr 2026 10:39:06 -0400
Subject: [PATCH] 
 https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-pwg5-6jfc-crvh

---
 coders/jp2.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Index: ImageMagick-7.1.1-21/coders/jp2.c
===================================================================
--- ImageMagick-7.1.1-21.orig/coders/jp2.c
+++ ImageMagick-7.1.1-21/coders/jp2.c
@@ -1039,8 +1039,22 @@ static MagickBooleanType WriteJP2Image(c
       parameters->cp_disto_alloc=OPJ_TRUE;
     }
   if (image_info->sampling_factor != (const char *) NULL)
-    (void) sscanf(image_info->sampling_factor,"%d:%d",
-      &parameters->subsampling_dx,&parameters->subsampling_dy);
+  {
+      GeometryInfo
+        geometry_info;
+
+      MagickStatusType
+        flags;
+
+      flags=ParseGeometry(image_info->sampling_factor,&geometry_info);
+      if ((flags & RhoValue) != 0)
+        parameters->subsampling_dx=(int) MagickMax(
+          geometry_info.rho,1.0);
+      parameters->subsampling_dy=parameters->subsampling_dx;
+      if ((flags & SigmaValue) != 0)
+        parameters->subsampling_dy=(int) MagickMax(
+          geometry_info.sigma,1.0);
+  }
   property=GetImageProperty(image,"comment",exception);
   if (property != (const char *) NULL)
     parameters->cp_comment=(char *) property;
