Author: trasz
Date: Sat Apr 21 10:45:46 2012
New Revision: 234537
URL: http://svn.freebsd.org/changeset/base/234537

Log:
  Fix use-after-free introduced in r234036.
  
  Reviewed by:  mckusick
  Tested by:    pho

Modified:
  head/sys/ufs/ffs/ffs_vfsops.c

Modified: head/sys/ufs/ffs/ffs_vfsops.c
==============================================================================
--- head/sys/ufs/ffs/ffs_vfsops.c       Sat Apr 21 07:31:27 2012        
(r234536)
+++ head/sys/ufs/ffs/ffs_vfsops.c       Sat Apr 21 10:45:46 2012        
(r234537)
@@ -699,10 +699,14 @@ ffs_reload(struct mount *mp, struct thre
         * We no longer know anything about clusters per cylinder group.
         */
        if (fs->fs_contigsumsize > 0) {
-               lp = fs->fs_maxcluster;
+               fs->fs_maxcluster = lp = space;
                for (i = 0; i < fs->fs_ncg; i++)
                        *lp++ = fs->fs_contigsumsize;
+               space = lp;
        }
+       size = fs->fs_ncg * sizeof(u_int8_t);
+       fs->fs_contigdirs = (u_int8_t *)space;
+       bzero(fs->fs_contigdirs, size);
 
 loop:
        MNT_VNODE_FOREACH_ALL(vp, mp, mvp) {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to