Commit fbbc4c906 for imagemagick.org
commit fbbc4c9062728b4690338645f30a871e056aa12d
Author: Dirk Lemstra <dirk@lemstra.org>
Date: Wed Feb 4 17:52:23 2026 +0100
Set the count during the loop to make sure RelinquishIconDirectory frees the correct number of icons.
diff --git a/coders/icon.c b/coders/icon.c
index b60658817..5ae8bbad7 100644
--- a/coders/icon.c
+++ b/coders/icon.c
@@ -145,14 +145,15 @@ static IconDirectory *AcquireIconDirectory(size_t count)
if (directory->icons == (IconEntry **) NULL)
return(RelinquishIconDirectory(directory));
memset(directory->icons,0,count*sizeof(*directory->icons));
+ directory->count=0;
for (i=0; i < (ssize_t) count; i++)
{
directory->icons[i]=(IconEntry *) AcquireMagickMemory(
sizeof(**directory->icons));
if (directory->icons[i] == (IconEntry *) NULL)
return(RelinquishIconDirectory(directory));
+ directory->count++;
}
- directory->count=count;
return(directory);
}