Checked the locations of MFT and MFTMirr at startup

On startup make sure the lcns of the MFT and the MFTMirr are not null and
they are different, so that the mounting is denied gracefully if they are.
pull/2/head
Jean-Pierre André 2021-01-26 10:06:18 +01:00
parent 5d46b32b91
commit 894b7dd36e
1 changed files with 6 additions and 0 deletions

View File

@ -154,6 +154,12 @@ BOOL ntfs_boot_sector_is_ntfs(NTFS_BOOT_SECTOR *b)
}
}
/* MFT and MFTMirr may not overlap the boot sector or be the same */
if (!b->mft_lcn || !b->mftmirr_lcn || (b->mft_lcn == b->mftmirr_lcn)) {
ntfs_log_error("Invalid location of MFT or MFTMirr.\n");
goto not_ntfs;
}
if (b->end_of_sector_marker != const_cpu_to_le16(0xaa55))
ntfs_log_debug("Warning: Bootsector has invalid end of sector "
"marker.\n");