hostapd: Make sure band selection does not result in NULL dereference
Explicitly check for iface->current_mode before dereferencing it. While this case may not happen in practice, it is better for the setup functions to be more careful when doing the initial band selection. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
dc1a341dec
commit
0980c7face
1 changed files with 9 additions and 0 deletions
|
@ -744,6 +744,9 @@ static int hostapd_is_usable_chan(struct hostapd_iface *iface,
|
||||||
int i;
|
int i;
|
||||||
struct hostapd_channel_data *chan;
|
struct hostapd_channel_data *chan;
|
||||||
|
|
||||||
|
if (!iface->current_mode)
|
||||||
|
return 0;
|
||||||
|
|
||||||
for (i = 0; i < iface->current_mode->num_channels; i++) {
|
for (i = 0; i < iface->current_mode->num_channels; i++) {
|
||||||
chan = &iface->current_mode->channels[i];
|
chan = &iface->current_mode->channels[i];
|
||||||
if (chan->chan != channel)
|
if (chan->chan != channel)
|
||||||
|
@ -805,6 +808,12 @@ hostapd_check_chans(struct hostapd_iface *iface)
|
||||||
|
|
||||||
static void hostapd_notify_bad_chans(struct hostapd_iface *iface)
|
static void hostapd_notify_bad_chans(struct hostapd_iface *iface)
|
||||||
{
|
{
|
||||||
|
if (!iface->current_mode) {
|
||||||
|
hostapd_logger(iface->bss[0], NULL, HOSTAPD_MODULE_IEEE80211,
|
||||||
|
HOSTAPD_LEVEL_WARNING,
|
||||||
|
"Hardware does not support configured mode");
|
||||||
|
return;
|
||||||
|
}
|
||||||
hostapd_logger(iface->bss[0], NULL,
|
hostapd_logger(iface->bss[0], NULL,
|
||||||
HOSTAPD_MODULE_IEEE80211,
|
HOSTAPD_MODULE_IEEE80211,
|
||||||
HOSTAPD_LEVEL_WARNING,
|
HOSTAPD_LEVEL_WARNING,
|
||||||
|
|
Loading…
Reference in a new issue