|
@@ -439,7 +439,7 @@ static int nilfs_valid_sb(struct nilfs_super_block *sbp)
|
|
|
if (!sbp || le16_to_cpu(sbp->s_magic) != NILFS_SUPER_MAGIC)
|
|
if (!sbp || le16_to_cpu(sbp->s_magic) != NILFS_SUPER_MAGIC)
|
|
|
return 0;
|
|
return 0;
|
|
|
bytes = le16_to_cpu(sbp->s_bytes);
|
|
bytes = le16_to_cpu(sbp->s_bytes);
|
|
|
- if (bytes > BLOCK_SIZE)
|
|
|
|
|
|
|
+ if (bytes < sumoff + 4 || bytes > BLOCK_SIZE)
|
|
|
return 0;
|
|
return 0;
|
|
|
crc = crc32_le(le32_to_cpu(sbp->s_crc_seed), (unsigned char *)sbp,
|
|
crc = crc32_le(le32_to_cpu(sbp->s_crc_seed), (unsigned char *)sbp,
|
|
|
sumoff);
|
|
sumoff);
|