]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wpa_supplicant AP: Make sure deauth/disassoc event is valid
authorJouni Malinen <j@w1.fi>
Sat, 4 Sep 2010 18:50:12 +0000 (21:50 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 4 Sep 2010 18:50:12 +0000 (21:50 +0300)
Verify that the driver wrapper is using a valid deauth/disassoc
event before dereferencing the addr pointer. The address is required
to be set in AP mode, but it is safer to verify this here than to
trust on all driver wrappers doing the correct thing.

wpa_supplicant/events.c

index ef2cd4529a22a90b649b3e723b90e7e7f70057b0..54f05e5647851ce9bfb86c8e0953995211aa0dc8 100644 (file)
@@ -1500,7 +1500,7 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
                                           MAC2STR(data->disassoc_info.addr));
                }
 #ifdef CONFIG_AP
-               if (wpa_s->ap_iface && data) {
+               if (wpa_s->ap_iface && data && data->disassoc_info.addr) {
                        hostapd_notif_disassoc(wpa_s->ap_iface->bss[0],
                                               data->disassoc_info.addr);
                        break;
@@ -1527,7 +1527,7 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
                        }
                }
 #ifdef CONFIG_AP
-               if (wpa_s->ap_iface && data) {
+               if (wpa_s->ap_iface && data && data->deauth_info.addr) {
                        hostapd_notif_disassoc(wpa_s->ap_iface->bss[0],
                                               data->deauth_info.addr);
                        break;