Commit 2352dcbaa for imagemagick.org
commit 2352dcbaadab79c83f263d61e2058058c40d850d
Author: Cristy <urban-warrior@imagemagick.org>
Date: Tue Mar 10 11:15:25 2026 -0400
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-rwgm-46rq-f86h
diff --git a/coders/viff.c b/coders/viff.c
index afd1a113c..595941f11 100644
--- a/coders/viff.c
+++ b/coders/viff.c
@@ -466,20 +466,20 @@ static Image *ReadVIFFImage(const ImageInfo *image_info,
if (i < (ssize_t) image->colors)
{
image->colormap[i].red=(MagickRealType)
- ScaleCharToQuantum((unsigned char) value);
+ ScaleCharToQuantum(CastDoubleToUChar(value));
image->colormap[i].green=(MagickRealType)
- ScaleCharToQuantum((unsigned char) value);
+ ScaleCharToQuantum(CastDoubleToUChar(value));
image->colormap[i].blue=(MagickRealType)
- ScaleCharToQuantum((unsigned char) value);
+ ScaleCharToQuantum(CastDoubleToUChar(value));
}
else
if (i < (ssize_t) (2*image->colors))
image->colormap[i % (ssize_t) image->colors].green=
- (MagickRealType) ScaleCharToQuantum((unsigned char) value);
+ (MagickRealType) ScaleCharToQuantum(CastDoubleToUChar(value));
else
if (i < (ssize_t) (3*image->colors))
image->colormap[i % (ssize_t) image->colors].blue=
- (MagickRealType) ScaleCharToQuantum((unsigned char) value);
+ (MagickRealType) ScaleCharToQuantum(CastDoubleToUChar(value));
}
viff_colormap=(unsigned char *) RelinquishMagickMemory(viff_colormap);
break;