Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Currently IFile data has crc checked in IFileInputStream (doRead method),
Normally the IFile would end with 2 bytes of -1, which means EOF_MARKER for keylength and valuelength, and then with 4 bytes crc checksum;
IFileInputStream checksumIn would check crc before IFile.Reader get EOF_MARKER,
IFile.Reader would stop reading when positionToNextRecord() read keylength EOF_MARKER(-1),and valuelength EOF_MARKER(-1);
But if something error happened(IFile corrupted), if the IFileReader read -1, -1 not at end of the IFile, the data may not checked!
Then Reader thought it had got all data and close reader......the task may fake success without any WARNing.