]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/constitute.c
(no commit message)
[imagemagick] / MagickCore / constitute.c
index 98b313f4ad7208d449b2825a41f0c77415ebe903..747a20e30bff1c275787ac768fde8ee5163b70c6 100644 (file)
@@ -351,6 +351,11 @@ MagickExport Image *PingImages(ImageInfo *image_info,const char *filename,
       sans=AcquireExceptionInfo();
       (void) SetImageInfo(read_info,0,sans);
       sans=DestroyExceptionInfo(sans);
+      if (read_info->number_scenes == 0)
+        {
+          read_info=DestroyImageInfo(read_info);
+          return(PingImage(image_info,exception));
+        }
       (void) CopyMagickString(ping_filename,read_info->filename,MaxTextExtent);
       images=NewImageList();
       extent=(ssize_t) (read_info->scene+read_info->number_scenes);
@@ -459,14 +464,9 @@ MagickExport Image *ReadImage(const ImageInfo *image_info,
       errno=EPERM;
       (void) ThrowMagickException(exception,GetMagickModule(),PolicyError,
         "NotAuthorized","'%s'",read_info->filename);
+      read_info=DestroyImageInfo(read_info);
       return((Image *) NULL);
     }
-  if ((LocaleNCompare(filename,"fd:",3) == 0) &&
-      (image_info->file == (FILE *) NULL))
-    {
-      read_info->file=fdopen(StringToLong(filename+3),"rb");
-      SetImageInfoFile((ImageInfo *) image_info,read_info->file);
-    }
   /*
     Call appropriate image reader based on image type.
   */
@@ -1068,15 +1068,10 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info,
   if (IsRightsAuthorized(domain,rights,write_info->magick) == MagickFalse)
     {
       sans_exception=DestroyExceptionInfo(sans_exception);
+      write_info=DestroyImageInfo(write_info);
       errno=EPERM;
       ThrowBinaryException(PolicyError,"NotAuthorized",filename);
     }
-  if ((LocaleNCompare(filename,"fd:",3) == 0) &&
-      (image_info->file == (FILE *) NULL))
-    {
-      write_info->file=fdopen(StringToLong(filename+3),"rb");
-      SetImageInfoFile((ImageInfo *) image_info,write_info->file);
-    }
   /*
     Call appropriate image reader based on image type.
   */