...
diff --git a/coders/raw.c b/coders/raw.c
index d6fe296..dd2e430 100644
--- a/coders/raw.c
+++ b/coders/raw.c
@@ -200,6 +200,8 @@
         length=GetQuantumExtent(canvas_image,quantum_info,quantum_type);
         pixels=(const unsigned char *) ReadBlobStream(image,length,
           GetQuantumPixels(quantum_info),&count);
+        if (count != (ssize_t) length)
+          break;
       }
     for (y=0; y < (ssize_t) image->extract_info.height; y++)
     {
@@ -255,6 +257,8 @@
         }
       pixels=(const unsigned char *) ReadBlobStream(image,length,
         GetQuantumPixels(quantum_info),&count);
+      if (count != (ssize_t) length)
+        break;
     }
     SetQuantumImageType(image,quantum_type);
     /*