]> granicus.if.org Git - imagemagick/commitdiff
Don't call fstat() on a closed file
authorCristy <mikayla-grace@urban-warrior.org>
Fri, 12 Apr 2019 16:18:15 +0000 (12:18 -0400)
committerCristy <mikayla-grace@urban-warrior.org>
Fri, 12 Apr 2019 22:28:21 +0000 (18:28 -0400)
MagickCore/blob.c

index 9f04f1d160e9004b1ef47f7301d5c9d936d30dec..77868e1bc74cc18417c16a898feb154fac9edb5b 100644 (file)
@@ -1823,7 +1823,16 @@ MagickExport MagickSizeType GetBlobSize(const Image *image)
     }
     case FileStream:
     {
-      if (fstat(fileno(blob_info->file_info.file),&blob_info->properties) == 0)
+      int
+        file_descriptor;
+
+      extent=(MagickSizeType) blob_info->properties.st_size;
+      if (extent == 0)
+        extent=blob_info->size;
+      file_descriptor=fileno(blob_info->file_info.file);
+      if (file_descriptor == -1)
+        break;
+      if (fstat(file_descriptor,&blob_info->properties) == 0)
         extent=(MagickSizeType) blob_info->properties.st_size;
       break;
     }