]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 25 Apr 2013 12:35:08 +0000 (12:35 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 25 Apr 2013 12:35:08 +0000 (12:35 +0000)
MagickCore/blob.c

index 70577427fc9581f36362cfd82fe5157bdf892950..b18b2263856ed9e50f214645a0817467700c032e 100644 (file)
@@ -2783,7 +2783,20 @@ MagickExport ssize_t ReadBlob(Image *image,const size_t length,
       break;
     case StandardStream:
     {
-      count=read(fileno(image->blob->file_info.file),q,length);
+      register ssize_t
+        i;
+
+      for (i=0; i < (ssize_t) length; i+=count)
+      {
+        count=read(fileno(image->blob->file_info.file),q+i,(size_t)
+          MagickMin(length-i,(MagickSizeType) SSIZE_MAX));
+        if (count <= 0)
+          {
+            count=0;
+            if (errno != EINTR)
+              break;
+          }
+      }
       break;
     }
     case FileStream: