Commit 56f029588 for imagemagick.org
commit 56f02958890b820cf2d0a6ecb04eb6f58ea75628
Author: Dirk Lemstra <dirk@lemstra.org>
Date: Tue Feb 3 22:40:04 2026 +0100
Patch to resolve possible out of bounds write in the msl decoder (GHSA-3mwp-xqp2-q6ph).
diff --git a/coders/msl.c b/coders/msl.c
index 078ecdaf9..1c6315e41 100644
--- a/coders/msl.c
+++ b/coders/msl.c
@@ -5826,10 +5826,11 @@ static void MSLStartElement(void *context,const xmlChar *tag,
Quantum opac = OpaqueAlpha;
ssize_t len = (ssize_t) strlen( value );
- if (value[len-1] == '%') {
- char tmp[100];
+ if ((len > 0) && (value[len-1] == '%')) {
+ char *tmp = AcquireString(value);
(void) CopyMagickString(tmp,value,(size_t) len);
opac = (Quantum) StringToLong( tmp );
+ tmp=DestroyString(tmp);
opac = (Quantum)(QuantumRange * ((float)opac/100));
} else
opac = (Quantum) StringToLong( value );