Commit 364606e5c for imagemagick.org

commit 364606e5cb955b622b13015814e255e1dadd701b
Author: Cristy <urban-warrior@imagemagick.org>
Date:   Sat Feb 7 08:40:22 2026 -0500

    reset channel map when cache resources are exhausted

diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index fd141f2e8..7b8bec2fe 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -3978,6 +3978,8 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode,
       if ((source_info.storage_class != UndefinedClass) && (mode != ReadMode))
         RelinquishPixelCachePixels(&source_info);
       cache_info->type=UndefinedCache;
+      (void) memset(image->channel_map,0,MaxPixelChannels*
+        sizeof(*image->channel_map));
       (void) ThrowMagickException(exception,GetMagickModule(),CacheError,
         "CacheResourcesExhausted","`%s'",image->filename);
       return(MagickFalse);
@@ -3990,6 +3992,8 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode,
       if ((source_info.storage_class != UndefinedClass) && (mode != ReadMode))
         RelinquishPixelCachePixels(&source_info);
       cache_info->type=UndefinedCache;
+      (void) memset(image->channel_map,0,MaxPixelChannels*
+        sizeof(*image->channel_map));
       (void) ThrowMagickException(exception,GetMagickModule(),CacheError,
         "CacheResourcesExhausted","`%s'",image->filename);
       return(MagickFalse);
@@ -4197,6 +4201,9 @@ MagickExport MagickBooleanType PersistPixelCache(Image *image,
   status=AcquireMagickResource(DiskResource,cache_info->length);
   if (status == MagickFalse)
     {
+      cache_info->type=UndefinedCache;
+      (void) memset(image->channel_map,0,MaxPixelChannels*
+        sizeof(*image->channel_map));
       (void) ThrowMagickException(exception,GetMagickModule(),CacheError,
         "CacheResourcesExhausted","`%s'",image->filename);
       return(MagickFalse);