mirror of https://github.com/ARMmbed/mbed-os.git
FATFilesystem declares sector count and size as uint32_t and block device class arguments are addr and size which is uint64_t While passing arguments to program/read/write API's of block device, multiplication of uint32_t*uint32_t was not typecasted properly to uint64_t which resulted in MSB truncation. Eg. If block 0x800000 is accessed with block size 0x200, addr to be passed (0x800000*0x200)0x100000000, but actual address passed was 0x0 which resulted in over-writting the root directory, and hence corrupted filesystem |
||
---|---|---|
.. | ||
ChaN | ||
FATFileSystem.cpp | ||
FATFileSystem.h |