extern "C" {
#endif
-static inline ssize_t ConstrainColormapIndex(Image *image,const ssize_t index,
+static inline ssize_t ConstrainColormapIndex(Image *image,const size_t index,
ExceptionInfo *exception)
{
- if ((index < 0) || (index >= (ssize_t) image->colors))
+ if ((index < 0) || (index >= (ssize_t) image->colors) ||
+ ((ssize_t) index < 0))
{
(void) ThrowMagickException(exception,GetMagickModule(),CorruptImageError,
"InvalidColormapIndex","`%s'",image->filename);
return(0);
}
- return(index);
+ return((ssize_t) index);
}
#if defined(__cplusplus) || defined(c_plusplus)
}
if (flags & PALM_HAS_TRANSPARENCY_FLAG)
{
+ ssize_t index=ConstrainColormapIndex(image,(mask-transparentIndex),
+ exception);
if (bits_per_pixel != 16)
- transpix=image->colormap[mask-transparentIndex];
+ transpix=image->colormap[index];
(void) TransparentPaintImage(image,&transpix,(Quantum) TransparentAlpha,
MagickFalse,exception);
}