IBSS RSN: Fix disconnect() with internal SME
authorJouni Malinen <j@w1.fi>
Sun, 21 Jul 2013 12:21:38 +0000 (15:21 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 21 Jul 2013 12:21:38 +0000 (15:21 +0300)
Commit 1aef400bf03159d60109ce886943fbd26d88a6c3 implemented IBSS RSN
disconnect() call using sta_deauth() in a way that resulted in NULL
pointer dereference in driver_nl80211.c if SME was in user space. Fix
this by passing the own MAC address in the sta_deauth call.

Signed-hostap: Jouni Malinen <j@w1.fi>

wpa_supplicant/driver_i.h

index 332ab2a..ad33d3c 100644 (file)
@@ -133,7 +133,8 @@ static inline int wpa_drv_sta_deauth(struct wpa_supplicant *wpa_s,
                                     const u8 *addr, int reason_code)
 {
        if (wpa_s->driver->sta_deauth) {
-               return wpa_s->driver->sta_deauth(wpa_s->drv_priv, NULL, addr,
+               return wpa_s->driver->sta_deauth(wpa_s->drv_priv,
+                                                wpa_s->own_addr, addr,
                                                 reason_code);
        }
        return -1;