summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstsp <stsp@openbsd.org>2014-06-03 14:41:26 +0000
committerstsp <stsp@openbsd.org>2014-06-03 14:41:26 +0000
commitb2b6f04f8c47eba3c774086fbf27fe06fbd51c44 (patch)
tree993ac22f0bd289177d511a9109cbdd9c03e037ad
parentFix zyd(4)'s frame length adjustment in RX path. Instead of snipping off (diff)
downloadwireguard-openbsd-b2b6f04f8c47eba3c774086fbf27fe06fbd51c44.tar.xz
wireguard-openbsd-b2b6f04f8c47eba3c774086fbf27fe06fbd51c44.zip
Fix an off-by-one in zyd_rxeof().
ok krw@ kettenis@ mpi@
-rw-r--r--sys/dev/usb/if_zyd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/usb/if_zyd.c b/sys/dev/usb/if_zyd.c
index 1934a12fa27..b880b2cc012 100644
--- a/sys/dev/usb/if_zyd.c
+++ b/sys/dev/usb/if_zyd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_zyd.c,v 1.98 2014/06/03 14:41:04 stsp Exp $ */
+/* $OpenBSD: if_zyd.c,v 1.99 2014/06/03 14:41:26 stsp Exp $ */
/*-
* Copyright (c) 2006 by Damien Bergamini <damien.bergamini@free.fr>
@@ -2018,7 +2018,7 @@ zyd_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status)
for (i = 0; i < ZYD_MAX_RXFRAMECNT; i++) {
const uint16_t len = UGETW(desc->len[i]);
- if (len == 0 || p + len > end)
+ if (len == 0 || p + len >= end)
break;
zyd_rx_data(sc, p, len);