summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjamie <jamie@FreeBSD.org>2016-06-09 21:59:11 +0000
committerjamie <jamie@FreeBSD.org>2016-06-09 21:59:11 +0000
commitaad828cb49a839665c04e3b71d736991a15d378f (patch)
tree5be8ed17ddf12528e4ad7f764b57a84a979adf65
parentf2916effb327c8dff2584e6b5b775387a67ebf47 (diff)
downloadFreeBSD-src-aad828cb49a839665c04e3b71d736991a15d378f.zip
FreeBSD-src-aad828cb49a839665c04e3b71d736991a15d378f.tar.gz
Fix a vnode leak when giving a child jail a too-long path when
debug.disablefullpath=1.
-rw-r--r--sys/kern/kern_jail.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index 74522d9..ebd714f 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -1010,6 +1010,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags)
if (len + (path[0] == '/' && strcmp(mypr->pr_path, "/")
? strlen(mypr->pr_path) : 0) > MAXPATHLEN) {
error = ENAMETOOLONG;
+ vrele(root);
goto done_free;
}
}
OpenPOWER on IntegriCloud