summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2002-10-14 19:55:49 +0000
committerrwatson <rwatson@FreeBSD.org>2002-10-14 19:55:49 +0000
commit67d568c288dae99ff29a150239c4a33bccf0d980 (patch)
tree840c5b0b07bb8106b11d9a860079c90069bb72cd /sys/ufs
parent9d00a4a781eb15e7fa43415462c01f82087ded69 (diff)
downloadFreeBSD-src-67d568c288dae99ff29a150239c4a33bccf0d980.zip
FreeBSD-src-67d568c288dae99ff29a150239c4a33bccf0d980.tar.gz
Fix two memory leaks in error conditions involving the UFS ACL code:
if failures occur, make sure that we release both the default ACL and access ACL storage during new object creation. Spotted by: phk and his pet flexelint Sponsored by: DARPA, Network Associates Laboratories
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ufs/ufs_vnops.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c
index 70d3b1a..c0da28f 100644
--- a/sys/ufs/ufs/ufs_vnops.c
+++ b/sys/ufs/ufs/ufs_vnops.c
@@ -1480,6 +1480,8 @@ ufs_mkdir(ap)
default:
UFS_VFREE(tvp, ip->i_number, dmode);
vput(tvp);
+ FREE(acl, M_ACL);
+ FREE(dacl, M_ACL);
return (error);
}
#else /* !UFS_ACL */
@@ -2381,6 +2383,8 @@ ufs_makeinode(mode, dvp, vpp, cnp)
default:
UFS_VFREE(tvp, ip->i_number, mode);
vput(tvp);
+ FREE(acl, M_ACL);
+ acl = NULL;
return (error);
}
#else /* !UFS_ACL */
OpenPOWER on IntegriCloud