diff -Naur libmspack-0.5alpha/mspack/cabd.c libmspack-0.5alpha-a/mspack/cabd.c
--- libmspack-0.5alpha/mspack/cabd.c	2015-01-18 18:29:24.000000000 +0530
+++ libmspack-0.5alpha-a/mspack/cabd.c	2018-07-16 21:00:47.026574052 +0530
@@ -525,6 +525,10 @@
 
   /* read up to 256 bytes */
   len = sys->read(fh, &buf[0], 256);
+  if (len <= 0) {
+    *error = MSPACK_ERR_READ;
+    return NULL;
+  }
 
   /* search for a null terminator in the buffer. reject empty strings */
   for (i = 1, ok = 0; i < len; i++) if (!buf[i]) { ok = 1; break; }