]> granicus.if.org Git - imagemagick/commitdiff
https://github.com/ImageMagick/ImageMagick/issues/284
authorCristy <urban-warrior@imagemagick.org>
Sun, 9 Oct 2016 18:27:53 +0000 (14:27 -0400)
committerCristy <urban-warrior@imagemagick.org>
Mon, 10 Oct 2016 06:07:08 +0000 (02:07 -0400)
MagickCore/property.c
coders/sgi.c
coders/sun.c

index 0b4b75c4941eea2d9d09b40d2fbbacb6c9f32094..2a80dc2a9a05e1e1ddc71719530053fed283bf42 100644 (file)
@@ -3131,7 +3131,6 @@ MagickExport const char *GetMagickProperty(ImageInfo *image_info,
             image->units);
           break;
         }
-      if (LocaleCompare("copyright",property) == 0)
       break;
     }
     case 'v':
index 8262a6c77a0e2a12a1d8fe7e3d3881e95304d304..4cb8d9ad3da39e96909468a477d485ac32354e88 100644 (file)
@@ -511,7 +511,7 @@ static Image *ReadSGIImage(const ImageInfo *image_info,ExceptionInfo *exception)
           {
             MagickOffsetType
               position;
-           
+
             position=TellBlob(image);
             p=pixels;
             for (y=0; y < (ssize_t) iris_info.rows; y++)
@@ -545,7 +545,7 @@ static Image *ReadSGIImage(const ImageInfo *image_info,ExceptionInfo *exception)
     /*
       Initialize image structure.
     */
-    image->alpha_trait=iris_info.depth == 4 ? BlendPixelTrait : 
+    image->alpha_trait=iris_info.depth == 4 ? BlendPixelTrait :
       UndefinedPixelTrait;
     image->columns=iris_info.columns;
     image->rows=iris_info.rows;
index 0de94468c238e4bb0159a420c11068000c8481f9..291112bcbca82e173e6a88e2bdbceb69db606ab2 100644 (file)
@@ -263,7 +263,8 @@ static Image *ReadSUNImage(const ImageInfo *image_info,ExceptionInfo *exception)
     bytes_per_line,
     extent,
     height,
-    pixels_length;
+    pixels_length,
+    quantum;
 
   ssize_t
     count,
@@ -440,9 +441,10 @@ static Image *ReadSUNImage(const ImageInfo *image_info,ExceptionInfo *exception)
         sun_data=(unsigned char *) RelinquishMagickMemory(sun_data);
         ThrowReaderException(ResourceLimitError,"ImproperImageHeader");
       }
-    bytes_per_line+=7;
+    quantum=sun_info.depth == 1 ? 15 : 7;
+    bytes_per_line+=quantum;
     bytes_per_line<<=1;
-    if ((bytes_per_line >> 1) != (sun_info.width*sun_info.depth+7))
+    if ((bytes_per_line >> 1) != (sun_info.width*sun_info.depth+quantum))
       {
         sun_data=(unsigned char *) RelinquishMagickMemory(sun_data);
         ThrowReaderException(ResourceLimitError,"ImproperImageHeader");
@@ -816,10 +818,10 @@ static MagickBooleanType WriteSUNImage(const ImageInfo *image_info,Image *image,
         /*
           Full color SUN raster.
         */
-        sun_info.depth=(unsigned int) image->alpha_trait != UndefinedPixelTrait ?
-          32U : 24U;
-        sun_info.length=(unsigned int) ((image->alpha_trait != UndefinedPixelTrait ?
-          4 : 3)*number_pixels);
+        sun_info.depth=(unsigned int) image->alpha_trait !=
+          UndefinedPixelTrait ? 32U : 24U;
+        sun_info.length=(unsigned int) ((image->alpha_trait !=
+          UndefinedPixelTrait ? 4 : 3)*number_pixels);
         sun_info.length+=sun_info.length & 0x01 ? (unsigned int) image->rows :
           0;
       }