diff options
-rw-r--r-- | sys/msdosfs/msdosfs_vfsops.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/msdosfs/msdosfs_vfsops.c b/sys/msdosfs/msdosfs_vfsops.c index a7d32669466..17dd9eb0a57 100644 --- a/sys/msdosfs/msdosfs_vfsops.c +++ b/sys/msdosfs/msdosfs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: msdosfs_vfsops.c,v 1.66 2014/06/18 17:24:46 tobias Exp $ */ +/* $OpenBSD: msdosfs_vfsops.c,v 1.67 2014/06/23 18:54:33 tobias Exp $ */ /* $NetBSD: msdosfs_vfsops.c,v 1.48 1997/10/18 02:54:57 briggs Exp $ */ /*- @@ -385,7 +385,8 @@ msdosfs_mountfs(struct vnode *devvp, struct mount *mp, struct proc *p, if ((SecPerClust == 0) || (SecPerClust & (SecPerClust - 1)) || (pmp->pm_BytesPerSec < DEV_BSIZE) || (pmp->pm_BytesPerSec & (pmp->pm_BytesPerSec - 1)) || - (pmp->pm_HugeSectors == 0) || (pmp->pm_FATsecs == 0)) { + (pmp->pm_HugeSectors == 0) || (pmp->pm_FATsecs == 0) || + (SecPerClust * pmp->pm_BlkPerSec > MAXBSIZE / DEV_BSIZE)) { error = EINVAL; goto error_exit; } |