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;
 	}
 

Reply via email to