summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorjamie <jamie@FreeBSD.org>2016-06-15 01:57:22 +0000
committerjamie <jamie@FreeBSD.org>2016-06-15 01:57:22 +0000
commit8b4e58204b785e1caaa23b2b31c55ae39b6406e2 (patch)
tree67bc735c6ada7478b5b6f4583094a4cebd5db254 /sys/kern
parentcbbf6bc8819be31168b6d7024888140a1caa07ae (diff)
downloadFreeBSD-src-8b4e58204b785e1caaa23b2b31c55ae39b6406e2.zip
FreeBSD-src-8b4e58204b785e1caaa23b2b31c55ae39b6406e2.tar.gz
MFC r301758:
Clean up some logic in jail error messages, replacing a missing test and a redundant test with a single correct test.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_jail.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index ed2565a..133a909 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -1943,19 +1943,17 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags)
vrele(root);
done_errmsg:
if (error) {
- vfs_getopt(opts, "errmsg", (void **)&errmsg, &errmsg_len);
- if (errmsg_len > 0) {
+ if (vfs_getopt(opts, "errmsg", (void **)&errmsg,
+ &errmsg_len) == 0 && errmsg_len > 0) {
errmsg_pos = 2 * vfs_getopt_pos(opts, "errmsg") + 1;
- if (errmsg_pos > 0) {
- if (optuio->uio_segflg == UIO_SYSSPACE)
- bcopy(errmsg,
- optuio->uio_iov[errmsg_pos].iov_base,
- errmsg_len);
- else
- copyout(errmsg,
- optuio->uio_iov[errmsg_pos].iov_base,
- errmsg_len);
- }
+ if (optuio->uio_segflg == UIO_SYSSPACE)
+ bcopy(errmsg,
+ optuio->uio_iov[errmsg_pos].iov_base,
+ errmsg_len);
+ else
+ copyout(errmsg,
+ optuio->uio_iov[errmsg_pos].iov_base,
+ errmsg_len);
}
}
done_free:
OpenPOWER on IntegriCloud