hostapd: Fix set beacon in multiple BSSID scenario

Check if the BSS interface has started before setting beacon.
Lack of this condition can cause segmantation fault.

Signed-hostap: Marek Kwaczynski <marek.kwaczynski@tieto.com>
This commit is contained in:
Marek Kwaczynski 2013-11-21 13:33:09 +01:00 committed by Jouni Malinen
parent 179fc5527d
commit 77a3e796e1

View file

@ -878,9 +878,11 @@ fail:
void ieee802_11_set_beacons(struct hostapd_iface *iface)
{
size_t i;
for (i = 0; i < iface->num_bss; i++)
for (i = 0; i < iface->num_bss; i++) {
if (iface->bss[i]->started)
ieee802_11_set_beacon(iface->bss[i]);
}
}
/* only update beacons if started */
@ -888,7 +890,7 @@ void ieee802_11_update_beacons(struct hostapd_iface *iface)
{
size_t i;
for (i = 0; i < iface->num_bss; i++)
if (iface->bss[i]->beacon_set_done)
if (iface->bss[i]->beacon_set_done && iface->bss[i]->started)
ieee802_11_set_beacon(iface->bss[i]);
}