summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorstefan <stefan@openbsd.org>2016-01-13 17:05:25 +0000
committerstefan <stefan@openbsd.org>2016-01-13 17:05:25 +0000
commitedfe2c560075a1ad7b45a6edacd975a40be86854 (patch)
tree672293a640fe91d327a0f8395bedfdb798e9e4f3 /sys
parentfix hid packet length calculation (diff)
downloadwireguard-openbsd-edfe2c560075a1ad7b45a6edacd975a40be86854.tar.xz
wireguard-openbsd-edfe2c560075a1ad7b45a6edacd975a40be86854.zip
Convert to uiomove(); from Martin Natano, thanks!
ok deraadt@
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/subr_log.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/kern/subr_log.c b/sys/kern/subr_log.c
index bfdb370df4a..27dcc512c75 100644
--- a/sys/kern/subr_log.c
+++ b/sys/kern/subr_log.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr_log.c,v 1.36 2016/01/07 12:27:07 bluhm Exp $ */
+/* $OpenBSD: subr_log.c,v 1.37 2016/01/13 17:05:25 stefan Exp $ */
/* $NetBSD: subr_log.c,v 1.11 1996/03/30 22:24:44 christos Exp $ */
/*
@@ -180,7 +180,7 @@ int
logread(dev_t dev, struct uio *uio, int flag)
{
struct msgbuf *mbp = msgbufp;
- long l;
+ size_t l;
int s;
int error = 0;
@@ -202,13 +202,14 @@ logread(dev_t dev, struct uio *uio, int flag)
logsoftc.sc_state &= ~LOG_RDWAIT;
while (uio->uio_resid > 0) {
- l = mbp->msg_bufx - mbp->msg_bufr;
- if (l < 0)
+ if (mbp->msg_bufx >= mbp->msg_bufr)
+ l = mbp->msg_bufx - mbp->msg_bufr;
+ else
l = mbp->msg_bufs - mbp->msg_bufr;
- l = min(l, uio->uio_resid);
+ l = ulmin(l, uio->uio_resid);
if (l == 0)
break;
- error = uiomovei(&mbp->msg_bufc[mbp->msg_bufr], (int)l, uio);
+ error = uiomove(&mbp->msg_bufc[mbp->msg_bufr], l, uio);
if (error)
break;
mbp->msg_bufr += l;