Fix more leaks based on changes in #763
diff --git a/coders/cut.c b/coders/cut.c
index 6ae02e8..ac5b6a4 100644
--- a/coders/cut.c
+++ b/coders/cut.c
@@ -509,6 +509,10 @@
   offset=SeekBlob(image,6 /*sizeof(Header)*/,SEEK_SET);
   if (offset < 0)
     {
+      if (palette != NULL)
+        palette=DestroyImage(palette);
+      if (clone_info != NULL)
+        clone_info=DestroyImageInfo(clone_info);
       BImgBuff=(unsigned char *) RelinquishMagickMemory(BImgBuff);
       ThrowReaderException(CorruptImageError,"ImproperImageHeader");
     }
diff --git a/coders/dps.c b/coders/dps.c
index e4430be..e110c3b 100644
--- a/coders/dps.c
+++ b/coders/dps.c
@@ -316,12 +316,18 @@
     {
       (void) CloseBlob(image);
       colors=(XColor *) RelinquishMagickMemory(colors);
+      XDestroyImage(dps_image);
+      XFreeResources(display,visual_info,map_info,(XPixelInfo *) NULL,
+        (XFontStruct *) NULL,&resource_info,(XWindowInfo *) NULL);
       return(GetFirstImageInList(image));
     }
   status=SetImageExtent(image,image->columns,image->rows,exception);
   if (status == MagickFalse)
     {
       colors=(XColor *) RelinquishMagickMemory(colors);
+      XDestroyImage(dps_image);
+      XFreeResources(display,visual_info,map_info,(XPixelInfo *) NULL,
+        (XFontStruct *) NULL,&resource_info,(XWindowInfo *) NULL);
       return(DestroyImageList(image));
     }
   switch (image->storage_class)
diff --git a/coders/gif.c b/coders/gif.c
index d87279f..9ea4c42 100644
--- a/coders/gif.c
+++ b/coders/gif.c
@@ -1186,6 +1186,7 @@
                   {
                     meta_image=DestroyImage(meta_image);
                     global_colormap=(unsigned char *) RelinquishMagickMemory(global_colormap);
+                    info=(unsigned char *) RelinquishMagickMemory(info);
                     ThrowReaderException(ResourceLimitError,
                       "MemoryAllocationFailed");
                   }