]> granicus.if.org Git - imagemagick/commitdiff
Fixed skipping tiff directory when reading sub image.
authordirk <dirk@git.imagemagick.org>
Sun, 7 Sep 2014 08:57:02 +0000 (08:57 +0000)
committerdirk <dirk@git.imagemagick.org>
Sun, 7 Sep 2014 08:57:02 +0000 (08:57 +0000)
coders/tiff.c

index 28b91f9a70fa9465d70b19cf8a8cb138d14bcb20..fab4ceb0a0422c8d74afdbfbeb9e76d9f53dfd97 100644 (file)
@@ -999,10 +999,17 @@ static Image *ReadTIFFImage(const ImageInfo *image_info,
       */
       for (i=0; i < (ssize_t) image_info->scene; i++)
       {
-        (void) TIFFReadDirectory(tiff);
+        status=TIFFReadDirectory(tiff) != 0 ? MagickTrue : MagickFalse;
+        if (status == MagickFalse)
+          {
+            TIFFClose(tiff);
+            image=DestroyImageList(image);
+            return((Image *) NULL);
+          }
         AcquireNextImage(image_info,image,exception);
         if (GetNextImageInList(image) == (Image *) NULL)
           {
+            TIFFClose(tiff);
             image=DestroyImageList(image);
             return((Image *) NULL);
           }