Module Name: src
Committed By: jakllsch
Date: Sun Nov 4 17:18:56 UTC 2012
Modified Files:
src/sys/fs/msdosfs: msdosfs_vfsops.c
Log Message:
Check that the FSInfo block's next free cluster suggestion is actually
a cluster within the bounds of the volume too.
To generate a diff of this commit:
cvs rdiff -u -r1.98 -r1.99 src/sys/fs/msdosfs/msdosfs_vfsops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/fs/msdosfs/msdosfs_vfsops.c
diff -u src/sys/fs/msdosfs/msdosfs_vfsops.c:1.98 src/sys/fs/msdosfs/msdosfs_vfsops.c:1.99
--- src/sys/fs/msdosfs/msdosfs_vfsops.c:1.98 Sun Nov 4 17:16:37 2012
+++ src/sys/fs/msdosfs/msdosfs_vfsops.c Sun Nov 4 17:18:56 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: msdosfs_vfsops.c,v 1.98 2012/11/04 17:16:37 jakllsch Exp $ */
+/* $NetBSD: msdosfs_vfsops.c,v 1.99 2012/11/04 17:18:56 jakllsch Exp $ */
/*-
* Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@@ -48,7 +48,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.98 2012/11/04 17:16:37 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.99 2012/11/04 17:18:56 jakllsch Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_netbsd.h"
@@ -763,7 +763,8 @@ msdosfs_mountfs(struct vnode *devvp, str
* XXX
*/
if (pmp->pm_fsinfo) {
- if (pmp->pm_nxtfree == 0xffffffffUL)
+ if ((pmp->pm_nxtfree == 0xffffffffUL) ||
+ (pmp->pm_nxtfree > pmp->pm_maxcluster))
pmp->pm_fsinfo = 0;
}