ath6kl: Fix invalid pointer access on fuzz testing with AP mode
authorMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Mon, 5 Aug 2013 04:49:22 +0000 (10:19 +0530)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 7 Aug 2013 07:58:59 +0000 (10:58 +0300)
In our Fuz testing, reference client corrupts the dest mac to "00:00:00:00:00:00"
in the WPA2 handshake no 2. During driver init the sta_list entries mac
addresses are by default "00:00:00:00:00:00". Driver returns an invalid
pointer (conn) and the drver shall crash, if rxtids (aggr_conn)
skb queues are accessed, since they would not be initialized.

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/main.c

index d4fcfca..5839fc2 100644 (file)
@@ -29,6 +29,9 @@ struct ath6kl_sta *ath6kl_find_sta(struct ath6kl_vif *vif, u8 *node_addr)
        struct ath6kl_sta *conn = NULL;
        u8 i, max_conn;
 
        struct ath6kl_sta *conn = NULL;
        u8 i, max_conn;
 
+       if (is_zero_ether_addr(node_addr))
+               return NULL;
+
        max_conn = (vif->nw_type == AP_NETWORK) ? AP_MAX_NUM_STA : 0;
 
        for (i = 0; i < max_conn; i++) {
        max_conn = (vif->nw_type == AP_NETWORK) ? AP_MAX_NUM_STA : 0;
 
        for (i = 0; i < max_conn; i++) {