Index: ufs_vnops.c =================================================================== RCS file: /usr/repo/src/sys/ufs/ufs/ufs_vnops.c,v retrieving revision 1.267 diff -u -p -r1.267 ufs_vnops.c --- ufs_vnops.c 13 Mar 2005 11:59:14 -0000 1.267 +++ ufs_vnops.c 26 Mar 2005 18:01:04 -0000 @@ -1447,7 +1447,7 @@ ufs_mkdir(ap) UFS_VFREE(tvp, ip->i_number, dmode); vput(tvp); FREE(acl, M_ACL); - FREE(dacl, M_ACL); + FREE(dacl, M_ACL); return (error); } } else { @@ -1519,10 +1519,12 @@ ufs_mkdir(ap) default: FREE(acl, M_ACL); FREE(dacl, M_ACL); + dacl = acl = NULL; goto bad; } FREE(acl, M_ACL); FREE(dacl, M_ACL); + dacl = acl = NULL; } #endif /* !UFS_ACL */ @@ -1587,6 +1589,12 @@ bad: VN_KNOTE_UNLOCKED(dvp, NOTE_WRITE | NOTE_LINK); *ap->a_vpp = tvp; } else { +#ifdef UFS_ACL + if (acl != NULL) + FREE(acl, M_ACL); + if (dacl != NULL) + FREE(dacl, M_ACL); +#endif dp->i_effnlink--; dp->i_nlink--; DIP_SET(dp, i_nlink, dp->i_nlink);