Page MenuHomeFreeBSD

D58898.id.diff
No OneTemporary

D58898.id.diff

diff --git a/sys/dev/usb/wlan/if_rsu.c b/sys/dev/usb/wlan/if_rsu.c
--- a/sys/dev/usb/wlan/if_rsu.c
+++ b/sys/dev/usb/wlan/if_rsu.c
@@ -2917,6 +2917,9 @@
*/
txd->txdw3 |= htole32(SM(R92S_TXDW3_SEQ, prio));
+ if (m0->m_pkthdr.len > RSU_TXBUFSZ - sizeof(*txd))
+ return (EMSGSIZE);
+
if (ieee80211_radiotap_active_vap(vap)) {
struct rsu_tx_radiotap_header *tap = &sc->sc_txtap;
@@ -2925,7 +2928,6 @@
}
xferlen = sizeof(*txd) + m0->m_pkthdr.len;
- KASSERT(xferlen <= RSU_TXBUFSZ, ("%s: invalid length", __func__));
m_copydata(m0, 0, m0->m_pkthdr.len, (caddr_t)&txd[1]);
data->buflen = xferlen;

File Metadata

Mime Type
text/plain
Expires
Tue, Sep 8, 11:43 AM (1 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36907371
Default Alt Text
D58898.id.diff (618 B)

Event Timeline