]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/hpfs/map.c
hpfs: better test for errors
[karo-tx-linux.git] / fs / hpfs / map.c
index 4acb19d78359d4bec83f90b854680dc3962905cf..803d3da3a0feb4e64d9672c6aa137b6b7a800951 100644 (file)
@@ -17,7 +17,8 @@ __le32 *hpfs_map_bitmap(struct super_block *s, unsigned bmp_block,
                         struct quad_buffer_head *qbh, char *id)
 {
        secno sec;
-       if (hpfs_sb(s)->sb_chk) if (bmp_block * 16384 > hpfs_sb(s)->sb_fs_size) {
+       unsigned n_bands = (hpfs_sb(s)->sb_fs_size + 0x3fff) >> 14;
+       if (hpfs_sb(s)->sb_chk) if (bmp_block >= n_bands) {
                hpfs_error(s, "hpfs_map_bitmap called with bad parameter: %08x at %s", bmp_block, id);
                return NULL;
        }