]> granicus.if.org Git - imagemagick/commitdiff
https://github.com/ImageMagick/ImageMagick/issues/1039
authorCristy <urban-warrior@imagemagick.org>
Sat, 24 Mar 2018 16:35:48 +0000 (12:35 -0400)
committerCristy <urban-warrior@imagemagick.org>
Sat, 24 Mar 2018 16:35:48 +0000 (12:35 -0400)
coders/art.c

index 3feb9939651908c24500f99506528786ab2cb628..7565680efcfb46874af8513348ae853f80b1f7d3 100644 (file)
@@ -337,7 +337,7 @@ static MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image,
       GrayQuantum,pixels,exception);
     count=WriteBlob(image,length,pixels);
     if (count != (ssize_t) length)
-      ThrowWriterException(CorruptImageError,"UnableToWriteImageData");
+      break;
     count=WriteBlob(image,(size_t) (-(ssize_t) length) & 0x01,pixels);
     status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
       image->rows);
@@ -345,6 +345,8 @@ static MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image,
       break;
   }
   quantum_info=DestroyQuantumInfo(quantum_info);
+  if (y < (ssize_t) image->rows)
+    ThrowWriterException(CorruptImageError,"UnableToWriteImageData");
   (void) CloseBlob(image);
   return(status);
 }