]> granicus.if.org Git - imagemagick/commitdiff
Added image->ping checks.
authordirk <dirk@git.imagemagick.org>
Sun, 28 Sep 2014 08:33:33 +0000 (08:33 +0000)
committerdirk <dirk@git.imagemagick.org>
Sun, 28 Sep 2014 08:33:33 +0000 (08:33 +0000)
coders/jp2.c

index d920f023fb116967ee2af70372500d6fb327576f..9fcc6dfac209b59154c60f1e6ba14959373ab6fc 100644 (file)
@@ -367,7 +367,7 @@ static Image *ReadJP2Image(const ImageInfo *image_info,ExceptionInfo *exception)
   if (image_info->number_scenes != 0)
     jp2_status=opj_get_decoded_tile(jp2_codec,jp2_stream,jp2_image,
       (unsigned int) image_info->scene);
-  else
+  else if (image->ping == MagickFalse)
     {
       jp2_status=opj_decode(jp2_codec,jp2_stream,jp2_image);
       if (jp2_status != 0)
@@ -418,6 +418,13 @@ static Image *ReadJP2Image(const ImageInfo *image_info,ExceptionInfo *exception)
       if (profile != (StringInfo *) NULL)
         SetImageProfile(image,"icc",profile,exception);
     }
+  if (image->ping != MagickFalse)
+    {
+      opj_destroy_codec(jp2_codec);
+      opj_image_destroy(jp2_image);
+      opj_destroy_cstr_index(&codestream_index);
+      return(GetFirstImageInList(image));
+    }
   for (y=0; y < (ssize_t) image->rows; y++)
   {
     register Quantum