DF-0827 / fix.diff
diff --git a/sys/vfs/msdosfs/msdosfs_fat.c b/sys/vfs/msdosfs/msdosfs_fat.c --- a/sys/vfs/msdosfs/msdosfs_fat.c +++ b/sys/vfs/msdosfs/msdosfs_fat.c @@ -184,7 +184,8 @@ /* * Stop with all reserved clusters, not just with EOF. */ - if ((cn | ~pmp->pm_fatmask) >= CLUST_RSRVD) + if ((cn | ~pmp->pm_fatmask) >= CLUST_RSRVD || + cn > pmp->pm_maxcluster) goto hiteof; byteoffset = FATOFS(pmp, cn); fatblock(pmp, byteoffset, &bn, &bsize, &bo); |