mesh: More consistent checking of wpa_s->ifmsh in completion handler

It does not look like wpa_s->ifmsg could be NULL here, but better be
more consistent anyway to keep static analyzers happier by avoiding
dereference of wpa_s->ifmsh in the function before the NULL check for
it.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
Jouni Malinen 2019-02-18 18:46:40 +02:00 committed by Jouni Malinen
parent 61929f4b07
commit 0f9632ceb8

View file

@ -197,7 +197,7 @@ static int wpas_mesh_complete(struct wpa_supplicant *wpa_s)
struct wpa_ssid *ssid = wpa_s->current_ssid; struct wpa_ssid *ssid = wpa_s->current_ssid;
int ret; int ret;
if (!params || !ssid) { if (!params || !ssid || !ifmsh) {
wpa_printf(MSG_ERROR, "mesh: %s called without active mesh", wpa_printf(MSG_ERROR, "mesh: %s called without active mesh",
__func__); __func__);
return -1; return -1;
@ -217,13 +217,11 @@ static int wpas_mesh_complete(struct wpa_supplicant *wpa_s)
wpa_s->mgmt_group_cipher = wpa_s->mesh_rsn->mgmt_group_cipher; wpa_s->mgmt_group_cipher = wpa_s->mesh_rsn->mgmt_group_cipher;
} }
if (ifmsh) {
params->ies = ifmsh->mconf->rsn_ie; params->ies = ifmsh->mconf->rsn_ie;
params->ie_len = ifmsh->mconf->rsn_ie_len; params->ie_len = ifmsh->mconf->rsn_ie_len;
params->basic_rates = ifmsh->basic_rates; params->basic_rates = ifmsh->basic_rates;
params->conf.flags |= WPA_DRIVER_MESH_CONF_FLAG_HT_OP_MODE; params->conf.flags |= WPA_DRIVER_MESH_CONF_FLAG_HT_OP_MODE;
params->conf.ht_opmode = ifmsh->bss[0]->iface->ht_op_mode; params->conf.ht_opmode = ifmsh->bss[0]->iface->ht_op_mode;
}
wpa_msg(wpa_s, MSG_INFO, "joining mesh %s", wpa_msg(wpa_s, MSG_INFO, "joining mesh %s",
wpa_ssid_txt(ssid->ssid, ssid->ssid_len)); wpa_ssid_txt(ssid->ssid, ssid->ssid_len));