diff options
| author | Theodore Ts'o <tytso@mit.edu> | 2007-06-24 17:17:24 -0400 |
|---|---|---|
| committer | Theodore Ts'o <tytso@mit.edu> | 2007-06-24 17:17:24 -0400 |
| commit | 30dd2622353b9fde462c9112fb0c863620a3bf91 (patch) | |
| tree | 4408c7729623e10d8b30316b49b9aec6edc9a48e | |
| parent | 0d8b6733c73e871eb2a32ae0f64687c5dec84525 (diff) | |
| download | android_external_e2fsprogs-30dd2622353b9fde462c9112fb0c863620a3bf91.tar.gz android_external_e2fsprogs-30dd2622353b9fde462c9112fb0c863620a3bf91.tar.bz2 android_external_e2fsprogs-30dd2622353b9fde462c9112fb0c863620a3bf91.zip | |
Fix divide by zero error in blkid's NTFS probing logic
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| -rw-r--r-- | lib/blkid/probe.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c index 0a1d8db6..b5bcdcf6 100644 --- a/lib/blkid/probe.c +++ b/lib/blkid/probe.c @@ -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; |
