summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_mesh.c
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2010-02-03 10:12:49 +0000
committerrpaulo <rpaulo@FreeBSD.org>2010-02-03 10:12:49 +0000
commitdcc17451da0e7bd6ea4fd2031a20ba568e236f1e (patch)
tree3a67d107ec1afe9f959a6e4b6f7ed82f95e73746 /sys/net80211/ieee80211_mesh.c
parentadb938921e527a609b1972aa726b47ea6ca0b678 (diff)
downloadFreeBSD-src-dcc17451da0e7bd6ea4fd2031a20ba568e236f1e.zip
FreeBSD-src-dcc17451da0e7bd6ea4fd2031a20ba568e236f1e.tar.gz
Avoid a null pointer deref when parsing the meshid.
Found with: clang static analyzer
Diffstat (limited to 'sys/net80211/ieee80211_mesh.c')
-rw-r--r--sys/net80211/ieee80211_mesh.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/net80211/ieee80211_mesh.c b/sys/net80211/ieee80211_mesh.c
index b07708b..417337b 100644
--- a/sys/net80211/ieee80211_mesh.c
+++ b/sys/net80211/ieee80211_mesh.c
@@ -1468,11 +1468,12 @@ mesh_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype,
if (xrates != NULL)
IEEE80211_VERIFY_ELEMENT(xrates,
IEEE80211_RATE_MAXSIZE - rates[1], return);
- if (meshid != NULL)
+ if (meshid != NULL) {
IEEE80211_VERIFY_ELEMENT(meshid,
IEEE80211_MESHID_LEN, return);
- /* NB: meshid, not ssid */
- IEEE80211_VERIFY_SSID(vap->iv_bss, meshid, return);
+ /* NB: meshid, not ssid */
+ IEEE80211_VERIFY_SSID(vap->iv_bss, meshid, return);
+ }
/* XXX find a better class or define it's own */
IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_INPUT, wh->i_addr2,
OpenPOWER on IntegriCloud