Check for corrupted header with incorrect field offsets, try to recalc the offsets and only fail if the total record size does not match the recordlength in the header (which MUST be accurate to be able to read the file).