VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Driver/Ntvol.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/Driver/Ntvol.c')
-rw-r--r--src/Driver/Ntvol.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/Driver/Ntvol.c b/src/Driver/Ntvol.c
index 15e6e610..0413708f 100644
--- a/src/Driver/Ntvol.c
+++ b/src/Driver/Ntvol.c
@@ -739,7 +739,9 @@ NTSTATUS TCOpenVolume (PDEVICE_OBJECT DeviceObject,
switch (fsId)
{
- case 0xEB3C904D53444F53: // FAT16
+ case 0xEB3C904D53444F53: // FAT16/FAT12
+ case 0xEB3C906D6B66732E: // mkfs.fat
+ case 0xEB3C906D6B646F73: // mkfs.vfat/mkdosfs
// workaround for FAT32 formatting by TrueCrypt/VeraCrypt
if (memcmp (readBuffer + 0x52, "FAT32 ", 8) == 0)
{
@@ -748,8 +750,16 @@ NTSTATUS TCOpenVolume (PDEVICE_OBJECT DeviceObject,
}
else
{
- Extension->PartitionType = PARTITION_FAT_16;
- Dump ("FAT16 detected\n");
+ if (memcmp (readBuffer + 0x36, "FAT12 ", 8) == 0)
+ {
+ Extension->PartitionType = PARTITION_FAT_12;
+ Dump ("FAT12 detected\n");
+ }
+ else
+ {
+ Extension->PartitionType = PARTITION_FAT_16;
+ Dump ("FAT16 detected\n");
+ }
}
break;
case 0xEB58906D6B66732E: // mkfs.fat