Index: App/Parcat/parcat.cpp
===================================================================
--- App/Parcat/parcat.cpp	(revision 1522)
+++ App/Parcat/parcat.cpp	(working copy)
@@ -138,15 +138,17 @@
   *nal_end = 0;
 
   i = 0;
-  while (   //( next_bits( 24 ) != 0x000001 && next_bits( 32 ) != 0x00000001 )
+  while (i + 3 < size &&  //( next_bits( 24 ) != 0x000001 && next_bits( 32 ) != 0x00000001 )
     (buf[i] != 0 || buf[i+1] != 0 || buf[i+2] != 0x01) &&
     (buf[i] != 0 || buf[i+1] != 0 || buf[i+2] != 0 || buf[i+3] != 0x01)
     )
   {
     i++; // skip leading zero
-    if (i+4 >= size) { return 0; } // did not find nal start
+    if (i+4 >= size) { printf("Unexpected EOF \n"); exit(-1); } // did not find nal start
   }
 
+  if (i + 3 >= size) { return 0; }
+
   if  (buf[i] != 0 || buf[i+1] != 0 || buf[i+2] != 0x01) // ( next_bits( 24 ) != 0x000001 )
   {
     i++;
