Commit 2a09644b1 for imagemagick.org
commit 2a09644b10a5b146e0a7c63b778bd74a112ebec3
Author: Cristy <urban-warrior@imagemagick.org>
Date: Thu Jan 15 17:50:19 2026 -0500
MSL: Stack overflow via infinite recursion in ProcessMSLScript
diff --git a/coders/msl.c b/coders/msl.c
index 5b182b592..53e3a95d1 100644
--- a/coders/msl.c
+++ b/coders/msl.c
@@ -7041,9 +7041,19 @@ static void MSLStartElement(void *context,const xmlChar *tag,
/* process */
{
- *msl_info->image_info[n]->magick='\0';
- (void) WriteImage(msl_info->image_info[n], msl_info->image[n],
- msl_info->exception);
+ (void) CopyMagickString(msl_info->image_info[n]->filename,
+ msl_info->image[n]->filename,MagickPathExtent);
+ (void) SetImageInfo(msl_info->image_info[n],1,exception);
+ if (LocaleCompare(msl_info->image_info[n]->magick,"msl") != 0)
+ {
+ *msl_info->image_info[n]->magick='\0';
+ (void) WriteImage(msl_info->image_info[n],msl_info->image[n],
+ msl_info->exception);
+ }
+ else
+ (void) ThrowMagickException(msl_info->exception,GetMagickModule(),
+ FileOpenError,"UnableToWriteFile","`%s'",
+ msl_info->image[n]->filename);
break;
}
}