Whamcloud - gitweb
Fix divide by zero error in blkid's NTFS probing logic
authorTheodore Ts'o <tytso@mit.edu>
Sun, 24 Jun 2007 21:17:24 +0000 (17:17 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 24 Jun 2007 21:17:24 +0000 (17:17 -0400)
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
lib/blkid/probe.c

index 0a1d8db..b5bcdcf 100644 (file)
@@ -420,8 +420,11 @@ static int probe_ntfs(struct blkid_probe *probe,
                (ns->bios_parameter_block[1]  << 8);
        sectors_per_cluster = ns->bios_parameter_block[2];
 
+       if ((bytes_per_sector < 512) || (sectors_per_cluster == 0))
+               return 1;
+
        if (ns->cluster_per_mft_record < 0)
-               mft_record_size = 1 << - ns->cluster_per_mft_record;
+               mft_record_size = 1 << (0-ns->cluster_per_mft_record);
        else
                mft_record_size = ns->cluster_per_mft_record * 
                        sectors_per_cluster * bytes_per_sector;