]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sun, 14 Sep 2014 14:05:32 +0000 (14:05 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sun, 14 Sep 2014 14:05:32 +0000 (14:05 +0000)
MagickCore/decorate.c

index 77fded24b1354e816a9c87c93625a64179c27e75..152cbe9d5145f0166d1d0d5c3fe8220013613ca2 100644 (file)
@@ -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);