diff options
author | 2014-06-03 14:41:26 +0000 | |
---|---|---|
committer | 2014-06-03 14:41:26 +0000 | |
commit | b2b6f04f8c47eba3c774086fbf27fe06fbd51c44 (patch) | |
tree | 993ac22f0bd289177d511a9109cbdd9c03e037ad | |
parent | Fix zyd(4)'s frame length adjustment in RX path. Instead of snipping off (diff) | |
download | wireguard-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.c | 4 |
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); |