nl80211: Clear bss->freq on station mode disconnection

This fixes some issues where bss->freq could have been used to replace
the current operating channel when sending out a management frame.
bss->freq has not been consistently used to track the current operating
channel in station mode, so it should not be trusted for this type of
uses. Clearing it makes this a bit more robust by at least avoiding the
cases of information from past association being used.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2019-04-14 12:33:37 +03:00
parent d7c98f9558
commit 091c227714

View file

@ -307,6 +307,7 @@ void nl80211_mark_disconnected(struct wpa_driver_nl80211_data *drv)
os_memcpy(drv->prev_bssid, drv->bssid, ETH_ALEN); os_memcpy(drv->prev_bssid, drv->bssid, ETH_ALEN);
drv->associated = 0; drv->associated = 0;
os_memset(drv->bssid, 0, ETH_ALEN); os_memset(drv->bssid, 0, ETH_ALEN);
drv->first_bss->freq = 0;
} }