From: Jouni Malinen Date: Mon, 1 Jun 2015 15:56:19 +0000 (+0300) Subject: hostapd: Make sure band selection does not result in NULL dereference X-Git-Tag: hostap_2_5~683 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0980c7face3e623aec2a24fc99a2c2e15298d711;p=thirdparty%2Fhostap.git 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 --- diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c index 069d1ae53..7c08e524d 100644 --- a/src/ap/hw_features.c +++ b/src/ap/hw_features.c @@ -744,6 +744,9 @@ static int hostapd_is_usable_chan(struct hostapd_iface *iface, int i; struct hostapd_channel_data *chan; + if (!iface->current_mode) + return 0; + for (i = 0; i < iface->current_mode->num_channels; i++) { chan = &iface->current_mode->channels[i]; 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) { + 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_MODULE_IEEE80211, HOSTAPD_LEVEL_WARNING,