summaryrefslogtreecommitdiffstats
path: root/sys/security
diff options
context:
space:
mode:
authormjg <mjg@FreeBSD.org>2014-03-31 02:24:29 +0000
committermjg <mjg@FreeBSD.org>2014-03-31 02:24:29 +0000
commit08656a370cdb89af7bdb3c347865f596f13c90ae (patch)
tree67f9597fe12d2d3df6b5930220d3034d83bbe521 /sys/security
parentae2823466fe35f50ff85af2bd94e6c0084781b88 (diff)
downloadFreeBSD-src-08656a370cdb89af7bdb3c347865f596f13c90ae.zip
FreeBSD-src-08656a370cdb89af7bdb3c347865f596f13c90ae.tar.gz
MFC r263458:
audit: plug FILEDESC_LOCK leak in audit_canon_path.
Diffstat (limited to 'sys/security')
-rw-r--r--sys/security/audit/audit_bsm_klib.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/security/audit/audit_bsm_klib.c b/sys/security/audit/audit_bsm_klib.c
index 91f7aaa..2f5a92e 100644
--- a/sys/security/audit/audit_bsm_klib.c
+++ b/sys/security/audit/audit_bsm_klib.c
@@ -497,6 +497,7 @@ audit_canon_path(struct thread *td, int dirfd, char *path, char *cpath)
/* XXX: fgetvp() that vhold()s vnode instead of vref()ing it would be better */
error = fgetvp(td, dirfd, NULL, &cvnp);
if (error) {
+ FILEDESC_SUNLOCK(fdp);
cpath[0] = '\0';
if (rvnp != NULL)
vdrop(rvnp);
OpenPOWER on IntegriCloud