diff --git a/fs/udf/super.c b/fs/udf/super.c index 2f83c1204e20..5a21d352ea4b 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c @@ -2520,7 +2520,8 @@ static unsigned int udf_count_free(struct super_block *sb) struct logicalVolIntegrityDesc *lvid = (struct logicalVolIntegrityDesc *) sbi->s_lvid_bh->b_data; - if (le32_to_cpu(lvid->numOfPartitions) > part) { + if (le32_to_cpu(lvid->numOfPartitions) > part + && le32_to_cpu(lvid->lengthOfImpUse) > part) { accum = le32_to_cpu( lvid->freeSpaceTable[part]); if (accum == 0xFFFFFFFF)