Description: Check return value from fread

Index: freedroid-1.0.2+cvs040112/src/misc.c
===================================================================
--- freedroid-1.0.2+cvs040112.orig/src/misc.c
+++ freedroid-1.0.2+cvs040112/src/misc.c
@@ -415,6 +415,7 @@ ReadAndMallocAndTerminateFile( char* fil
   FILE *DataFile;
   char *Data;
   char *ReadPointer;
+  size_t ret;
   // char *fpath;
 
   DebugPrintf ( 1 , "\nchar* ReadAndMallocAndTerminateFile ( char* filename ) : The filename is: %s" , filename );
@@ -468,7 +469,13 @@ not resolve.... Sorry, if that interrupt
       Terminate(ERR);
     }
 
-  fread ( Data, (size_t) 64, (size_t) (stbuf.st_size / 64 +1 ), DataFile);
+  if ((ret = fread ( Data, (size_t) 64, (size_t) (stbuf.st_size / 64 +1 ), DataFile)) !=
+      (size_t) (stbuf.st_size / 64 ))
+    {
+      DebugPrintf ( 0 , "\nchar* ReadAndMallocAndTerminateFile ( char* filename ) : short read (%d/%d)",
+                    ret, (stbuf.st_size / 64 ));
+      Terminate(ERR);
+    }
 
   DebugPrintf ( 1 , "\nchar* ReadAndMallocAndTerminateFile ( char* filename ) : Reading file succeeded...");
 
