Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
In FF_Write a loop is used to write remaining blocks, and breaks are used to terminate on error. However, these breaks intended to break the containing do-while. As they do not, on error from FF_BlockWrite, control would get passed to after the loop, FF_SetCluster would clear the error, and FF_WritePartial would be called with ulBytesLeft greater than block size, which is invalid and causes out of bounds memory writes. This is fixed by checking the error after the loop and breaking again.
- Loading branch information