FAT detection is too strict


Currently FAT FS detection code requires that ([number of sectors from boot record] * [size of one sector]) must be equal or less then physical size of the stream. Wikipedia says that it is not strict requirement if not all sectors are actually used by data.
I found sample image file that has physical size slightly less that total size of all sectors from boot record. And it can be opened successfully by other software. Sectors that lie beyond physical stream size are all unused and does not contain any data.
I've created a patch that resolves this issue by changing size condition a bit. And I've added some additional checks to compensate.

file attachments