Module Name: src Committed By: maxv Date: Tue Jan 16 15:18:37 UTC 2018
Modified Files: src/sys/net80211: ieee80211_input.c Log Message: More overflows... To generate a diff of this commit: cvs rdiff -u -r1.96 -r1.97 src/sys/net80211/ieee80211_input.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net80211/ieee80211_input.c diff -u src/sys/net80211/ieee80211_input.c:1.96 src/sys/net80211/ieee80211_input.c:1.97 --- src/sys/net80211/ieee80211_input.c:1.96 Tue Jan 16 14:37:24 2018 +++ src/sys/net80211/ieee80211_input.c Tue Jan 16 15:18:37 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ieee80211_input.c,v 1.96 2018/01/16 14:37:24 maxv Exp $ */ +/* $NetBSD: ieee80211_input.c,v 1.97 2018/01/16 15:18:37 maxv Exp $ */ /* * Copyright (c) 2001 Atsushi Onoe @@ -37,7 +37,7 @@ __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.81 2005/08/10 16:22:29 sam Exp $"); #endif #ifdef __NetBSD__ -__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.96 2018/01/16 14:37:24 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.97 2018/01/16 15:18:37 maxv Exp $"); #endif #ifdef _KERNEL_OPT @@ -2074,6 +2074,7 @@ ieee80211_recv_mgmt(struct ieee80211com scan.country = frm; break; case IEEE80211_ELEMID_FHPARMS: + IEEE80211_VERIFY_LENGTH(frm[1], 5); if (ic->ic_phytype == IEEE80211_T_FH) { scan.fhdwell = LE_READ_2(&frm[2]); scan.chan = IEEE80211_FH_CHAN(frm[4], frm[5]); @@ -2085,11 +2086,13 @@ ieee80211_recv_mgmt(struct ieee80211com * XXX hack this since depending on phytype * is problematic for multi-mode devices. */ + IEEE80211_VERIFY_LENGTH(frm[1], 1); if (ic->ic_phytype != IEEE80211_T_FH) scan.chan = frm[2]; break; case IEEE80211_ELEMID_TIM: /* XXX ATIM? */ + IEEE80211_VERIFY_LENGTH(frm[1], 5); scan.tim = frm; scan.timoff = frm - mtod(m0, u_int8_t *); break;