diff options
author | jamie <jamie@FreeBSD.org> | 2016-06-09 21:59:11 +0000 |
---|---|---|
committer | jamie <jamie@FreeBSD.org> | 2016-06-09 21:59:11 +0000 |
commit | aad828cb49a839665c04e3b71d736991a15d378f (patch) | |
tree | 5be8ed17ddf12528e4ad7f764b57a84a979adf65 | |
parent | f2916effb327c8dff2584e6b5b775387a67ebf47 (diff) | |
download | FreeBSD-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.c | 1 |
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; } } |