Avoid hostapd segfault on invalid driver association event

Running hostapd and wpa_supplicant on the same interface at the same
time is not expected to work, but it should not cause hostapd to crash.
Ignore station mode association events (no addr field) to avoid this.
This commit is contained in:
Jouni Malinen 2010-04-07 10:01:49 +03:00
parent 99f4ae67b7
commit 68532a9ceb

View file

@ -40,6 +40,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
int new_assoc, res; int new_assoc, res;
struct ieee802_11_elems elems; struct ieee802_11_elems elems;
if (addr == NULL) {
/*
* This could potentially happen with unexpected event from the
* driver wrapper. This was seen at least in one case where the
* driver ended up being set to station mode while hostapd was
* running, so better make sure we stop processing such an
* event here.
*/
wpa_printf(MSG_DEBUG, "hostapd_notif_assoc: Skip event with "
"no address");
return -1;
}
hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211, hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211,
HOSTAPD_LEVEL_INFO, "associated"); HOSTAPD_LEVEL_INFO, "associated");