Commit 2eff6be37 for imagemagick.org
commit 2eff6be3785d980bb5190244ad432fe6282d29e3
Author: Cristy <urban-warrior@imagemagick.org>
Date: Tue Sep 22 07:01:52 2026 -0400
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-w288-jj5x-hhvp
diff --git a/coders/svg.c b/coders/svg.c
index d8e10b9cd..6aea2235a 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -4231,8 +4231,13 @@ static MagickBooleanType WriteSVGImage(const ImageInfo *image_info,Image *image,
{
n--;
if (n < 0)
- ThrowWriterException(DrawError,
- "UnbalancedGraphicContextPushPop");
+ {
+ token=DestroyString(token);
+ if (primitive_info != (PrimitiveInfo *) NULL)
+ primitive_info=(PrimitiveInfo *) RelinquishMagickMemory(primitive_info);
+ ThrowWriterException(DrawError,
+ "UnbalancedGraphicContextPushPop");
+ }
(void) WriteBlobString(image,"</g>\n");
}
if (LocaleCompare("pattern",token) == 0)
@@ -4320,8 +4325,13 @@ static MagickBooleanType WriteSVGImage(const ImageInfo *image_info,Image *image,
{
n++;
if (n == MagickMaxRecursionDepth)
- ThrowWriterException(DrawError,
- "VectorGraphicsNestedTooDeeply");
+ {
+ token=DestroyString(token);
+ if (primitive_info != (PrimitiveInfo *) NULL)
+ primitive_info=(PrimitiveInfo *) RelinquishMagickMemory(primitive_info);
+ ThrowWriterException(DrawError,
+ "VectorGraphicsNestedTooDeeply");
+ }
if (active)
{
AffineToTransform(image,&affine);