]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 3 Apr 2012 12:58:43 +0000 (12:58 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 3 Apr 2012 12:58:43 +0000 (12:58 +0000)
MagickCore/profile.c

index 901ce2c456204196c75eb53c16a830f5618b50f1..3a3444dad5a56df61d77b98a40914d02d71ede7a 100644 (file)
@@ -6696,8 +6696,10 @@ MagickPrivate MagickBooleanType SyncImageProfiles(Image *image)
       format=(ssize_t) ReadProfileShort(endian,q+2);
       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;
       else