void* ReadData (FILE* F, void* Data, unsigned Size)
/* Read data from the file */
-{
- if (fread (Data, 1, Size, F) != Size) {
- Error ("Read error (file corrupt?)");
+{
+ /* Explicitly allow reading zero bytes */
+ if (Size > 0) {
+ if (fread (Data, 1, Size, F) != Size) {
+ Error ("Read error (file corrupt?)");
+ }
}
return Data;
}