From: cristy Date: Sun, 14 Sep 2014 14:05:32 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~2012 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2f9e64902e1d2a5cf29e45078b479ea4afb2cdb6;p=imagemagick --- diff --git a/MagickCore/decorate.c b/MagickCore/decorate.c index 77fded24b..152cbe9d5 100644 --- a/MagickCore/decorate.c +++ b/MagickCore/decorate.c @@ -166,6 +166,14 @@ MagickExport Image *BorderImage(const Image *image, % o exception: return any errors or warnings in this structure. % */ + +static inline size_t MagickMin(const ssize_t x,const ssize_t y) +{ + if (x < y) + return(x); + return(y); +} + MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info, const CompositeOperator compose,ExceptionInfo *exception) { @@ -451,6 +459,9 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info, register ssize_t i; + size_t + number_channels; + if (GetPixelReadMask(image,q) == 0) { SetPixelBackgoundColor(frame_image,q); @@ -458,7 +469,9 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info, q+=GetPixelChannels(frame_image); continue; } - for (i=0; i < (ssize_t) GetPixelChannels(image); i++) + number_channels=MagickMin(GetPixelChannels(image), + GetPixelChannels(frame_image)); + for (i=0; i < (ssize_t) number_channels; i++) { PixelChannel channel=GetPixelChannelChannel(image,i); PixelTrait traits=GetPixelChannelTraits(image,channel);