From: Marek Kwaczynski Date: Thu, 21 Nov 2013 12:33:09 +0000 (+0100) Subject: hostapd: Fix set beacon in multiple BSSID scenario X-Git-Tag: hostap_2_1~502 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77a3e796e1b5118d19ed75960589f8ad520658c2;p=thirdparty%2Fhostap.git 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 --- diff --git a/src/ap/beacon.c b/src/ap/beacon.c index 298c0fa13..0e0dae467 100644 --- a/src/ap/beacon.c +++ b/src/ap/beacon.c @@ -878,8 +878,10 @@ fail: void ieee802_11_set_beacons(struct hostapd_iface *iface) { size_t i; - for (i = 0; i < iface->num_bss; i++) - ieee802_11_set_beacon(iface->bss[i]); + for (i = 0; i < iface->num_bss; i++) { + if (iface->bss[i]->started) + ieee802_11_set_beacon(iface->bss[i]); + } } @@ -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]); }