wlantest: Fix management frame injection
authorJouni Malinen <jouni.malinen@atheros.com>
Tue, 21 Dec 2010 10:48:03 +0000 (12:48 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 21 Dec 2010 10:48:03 +0000 (12:48 +0200)
The TDLS special case was supposed to apply to only Data frames.

wlantest/inject.c

index 51990e4..3defdf7 100644 (file)
@@ -216,7 +216,8 @@ static int wlantest_inject_prot(struct wlantest *wt, struct wlantest_bss *bss,
        hdrlen = 24;
        fc = le_to_host16(hdr->frame_control);
 
-       if ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == 0) {
+       if (WLAN_FC_GET_TYPE(fc) == WLAN_FC_TYPE_DATA &&
+           (fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == 0) {
                struct wlantest_sta *sta2;
                bss = bss_get(wt, hdr->addr3);
                if (bss == NULL)