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;

Reply via email to