WPS: Verify wpa_config_set() return value more consistently
Even though this command is very unlikely to fail, in theory, it could and the WPS connection would fail in such a case. Return more clearer failure indication in such a case without even trying to start reassociation. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
559cdabb0f
commit
9c75e9fb81
1 changed files with 6 additions and 3 deletions
|
@ -938,7 +938,8 @@ int wpas_wps_start_pbc(struct wpa_supplicant *wpa_s, const u8 *bssid,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_P2P */
|
#endif /* CONFIG_P2P */
|
||||||
wpa_config_set(ssid, "phase1", "\"pbc=1\"", 0);
|
if (wpa_config_set(ssid, "phase1", "\"pbc=1\"", 0) < 0)
|
||||||
|
return -1;
|
||||||
if (wpa_s->wps_fragment_size)
|
if (wpa_s->wps_fragment_size)
|
||||||
ssid->eap.fragment_size = wpa_s->wps_fragment_size;
|
ssid->eap.fragment_size = wpa_s->wps_fragment_size;
|
||||||
eloop_register_timeout(WPS_PBC_WALK_TIME, 0, wpas_wps_timeout,
|
eloop_register_timeout(WPS_PBC_WALK_TIME, 0, wpas_wps_timeout,
|
||||||
|
@ -981,7 +982,8 @@ int wpas_wps_start_pin(struct wpa_supplicant *wpa_s, const u8 *bssid,
|
||||||
os_snprintf(val, sizeof(val), "\"pin=%08d dev_pw_id=%u\"",
|
os_snprintf(val, sizeof(val), "\"pin=%08d dev_pw_id=%u\"",
|
||||||
rpin, dev_pw_id);
|
rpin, dev_pw_id);
|
||||||
}
|
}
|
||||||
wpa_config_set(ssid, "phase1", val, 0);
|
if (wpa_config_set(ssid, "phase1", val, 0) < 0)
|
||||||
|
return -1;
|
||||||
if (wpa_s->wps_fragment_size)
|
if (wpa_s->wps_fragment_size)
|
||||||
ssid->eap.fragment_size = wpa_s->wps_fragment_size;
|
ssid->eap.fragment_size = wpa_s->wps_fragment_size;
|
||||||
eloop_register_timeout(WPS_PBC_WALK_TIME, 0, wpas_wps_timeout,
|
eloop_register_timeout(WPS_PBC_WALK_TIME, 0, wpas_wps_timeout,
|
||||||
|
@ -1055,7 +1057,8 @@ int wpas_wps_start_reg(struct wpa_supplicant *wpa_s, const u8 *bssid,
|
||||||
res = os_snprintf(pos, end - pos, "\"");
|
res = os_snprintf(pos, end - pos, "\"");
|
||||||
if (res < 0 || res >= end - pos)
|
if (res < 0 || res >= end - pos)
|
||||||
return -1;
|
return -1;
|
||||||
wpa_config_set(ssid, "phase1", val, 0);
|
if (wpa_config_set(ssid, "phase1", val, 0) < 0)
|
||||||
|
return -1;
|
||||||
if (wpa_s->wps_fragment_size)
|
if (wpa_s->wps_fragment_size)
|
||||||
ssid->eap.fragment_size = wpa_s->wps_fragment_size;
|
ssid->eap.fragment_size = wpa_s->wps_fragment_size;
|
||||||
eloop_register_timeout(WPS_PBC_WALK_TIME, 0, wpas_wps_timeout,
|
eloop_register_timeout(WPS_PBC_WALK_TIME, 0, wpas_wps_timeout,
|
||||||
|
|
Loading…
Reference in a new issue