diff --git a/super.c b/super.c index 2f83c12..5a21d35 100644 --- a/super.c +++ b/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)