[VFATLIB] Never touch the file system if not in interactive or RW mode.
authorPierre Schweitzer <pierre@reactos.org>
Sun, 17 Dec 2017 12:59:20 +0000 (13:59 +0100)
committerPierre Schweitzer <pierre@reactos.org>
Sun, 17 Dec 2017 13:02:31 +0000 (14:02 +0100)
commitb0bf7dfb62400227e8fb33fbeafcb0da02145439
treedbf3f13d0f8bebf9619b23e9f41306dc86358d87
parent284a839dbd6f6478942117c2bd8ecc83b1dde6b3
[VFATLIB] Never touch the file system if not in interactive or RW mode.
It's critical not to perform any write on a volume without an exclusive lock on it.
That lock is only acquired if ChkDsk is started in RW mode.
Also added an assert in write routine, to make sure that when we're about to perform
a write operation, we're really allowed to do so.

This will avoid volume corruptions when a simple "chkdsk" is issued from cmd.
To put it simple: check will really check now, and won't attempt any repair.

CORE-14119
sdk/lib/fslib/vfatlib/check/check.c
sdk/lib/fslib/vfatlib/check/fat.c
sdk/lib/fslib/vfatlib/check/io.c