Clean up some logic in jail error messages, replacing a missing test and
a redundant test with a single correct test.
This commit is contained in:
parent
fb4cdc96a8
commit
176ff3a066
@ -1929,19 +1929,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:
|
||||
|
Loading…
Reference in New Issue
Block a user