Commit 6dbae0a33 for imagemagick.org
commit 6dbae0a3300934b2fbb1c1cb9bcc616cd5073449
Author: Cristy <urban-warrior@imagemagick.org>
Date: Mon Feb 2 19:52:42 2026 -0500
fix potential memory leak
diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index d0c63cebe..fd141f2e8 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -3813,7 +3813,7 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode,
cache_info->storage_class=UndefinedClass;
cache_info->length=0;
ThrowBinaryException(ResourceLimitError,"PixelCacheAllocationFailed",
- image->filename);
+ image->filename);
}
columns=(size_t) (length/cache_info->rows/packet_size);
if ((cache_info->columns != columns) || ((ssize_t) cache_info->columns < 0) ||
diff --git a/coders/sixel.c b/coders/sixel.c
index 697da0fe5..8b868189f 100644
--- a/coders/sixel.c
+++ b/coders/sixel.c
@@ -401,7 +401,10 @@ static MagickBooleanType sixel_decode(Image *image,unsigned char *p,
dmsx=imsx > attributed_ph ? imsx : attributed_ph;
dmsy=imsy > attributed_pv ? imsy : attributed_pv;
if (SetImageExtent(image,(size_t) dmsx,(size_t) dmsy,exception) == MagickFalse)
- break;
+ {
+ imbuf=(sixel_pixel_t *) RelinquishMagickMemory(imbuf);
+ return(MagickFalse);
+ }
dmbuf=(sixel_pixel_t *) AcquireQuantumMemory((size_t) dmsx,(size_t)
dmsy*sizeof(sixel_pixel_t));
if (dmbuf == (sixel_pixel_t *) NULL)
@@ -507,7 +510,10 @@ static MagickBooleanType sixel_decode(Image *image,unsigned char *p,
dmsx=nx;
dmsy=ny;
if (SetImageExtent(image,(size_t) dmsx,(size_t) dmsy,exception) == MagickFalse)
- break;
+ {
+ imbuf=(sixel_pixel_t *) RelinquishMagickMemory(imbuf);
+ return(MagickFalse);
+ }
dmbuf=(sixel_pixel_t *) AcquireQuantumMemory((size_t) dmsx,(size_t)
dmsy*sizeof(sixel_pixel_t));
if (dmbuf == (sixel_pixel_t *) NULL)