Index: /ImageMagick/trunk/MagickCore/profile.c
===================================================================
--- /ImageMagick/trunk/MagickCore/profile.c	(revision 6993)
+++ /ImageMagick/trunk/MagickCore/profile.c	(revision 7324)
@@ -6697,6 +6697,8 @@
       if ((format-1) >= EXIF_NUM_FORMATS)
         break;
-      components=(int) ReadProfileLong(endian,q+4);
+      components=(ssize_t) ((int) ReadProfileLong(endian,q+4));
       number_bytes=(size_t) components*format_bytes[format];
+      if (number_bytes < components)
+        break;  /* prevent overflow */
       if (number_bytes <= 4)
         p=q+8;
