]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wlantest: Validate MMIE KeyID reserved bits
authorJouni Malinen <j@w1.fi>
Sat, 13 Nov 2010 11:14:09 +0000 (13:14 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 13 Nov 2010 11:14:09 +0000 (13:14 +0200)
wlantest/rx_mgmt.c

index 27120df5a503a2554bddeaaf4f328c199a816b72..4ee376c39ea5f8423a88c2948f5db9824add9f9e 100644 (file)
@@ -587,7 +587,7 @@ static int check_bip(struct wlantest *wt, const u8 *data, size_t len)
        const struct ieee80211_mgmt *mgmt;
        u16 fc, stype;
        const u8 *mmie;
-       int keyid;
+       u16 keyid;
        struct wlantest_bss *bss;
 
        mgmt = (const struct ieee80211_mgmt *) data;
@@ -619,6 +619,11 @@ static int check_bip(struct wlantest *wt, const u8 *data, size_t len)
 
        mmie = data + len - 16;
        keyid = WPA_GET_LE16(mmie);
+       if (keyid & 0xf000) {
+               wpa_printf(MSG_INFO, "MMIE KeyID reserved bits not zero "
+                          "(%04x) from " MACSTR, keyid, MAC2STR(mgmt->sa));
+               keyid &= 0x0fff;
+       }
        if (keyid < 4 || keyid > 5) {
                wpa_printf(MSG_INFO, "Unexpected MMIE KeyID %u from " MACSTR,
                           keyid, MAC2STR(mgmt->sa));