Commit 54254cf74 for imagemagick.org
commit 54254cf74d659f38f7a45c73cb52a9a36e8ed943
Author: Cristy <urban-warrior@imagemagick.org>
Date: Wed Mar 25 20:27:04 2026 -0400
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-98cp-rj9f-6v5g
diff --git a/coders/png.c b/coders/png.c
index 52356fae0..4f415602f 100644
--- a/coders/png.c
+++ b/coders/png.c
@@ -12924,9 +12924,6 @@ static MagickBooleanType WriteMNGImage(const ImageInfo *image_info,Image *image,
mng_info->image=image;
write_mng=LocaleCompare(image_info->magick,"MNG") == 0 ?
MagickTrue : MagickFalse;
- if ((write_mng != MagickFalse) && (image->storage_class == PseudoClass) &&
- (image->colors > 256))
- (void) SetImageStorageClass(image,DirectClass,exception);
/*
* See if user has requested a specific PNG subformat to be used
* for all of the PNGs in the MNG being written, e.g.,
@@ -13466,7 +13463,7 @@ static MagickBooleanType WriteMNGImage(const ImageInfo *image_info,Image *image,
if ((need_local_plte == MagickFalse) &&
(image->storage_class == PseudoClass) &&
- (all_images_are_gray == MagickFalse))
+ (all_images_are_gray == MagickFalse) && (image->colors <= 256))
{
size_t
data_length;
@@ -13519,7 +13516,8 @@ static MagickBooleanType WriteMNGImage(const ImageInfo *image_info,Image *image,
*/
mng_info->have_global_plte=mng_info->equal_palettes;
mng_info->equal_palettes=PalettesAreEqual(image,image->next);
- if (mng_info->equal_palettes && !mng_info->have_global_plte)
+ if ((mng_info->equal_palettes && !mng_info->have_global_plte) &&
+ (image->colors <= 256))
{
/*
Write MNG PLTE chunk