ctrl_iface: Don't return -1 when dumping BSS information
Don't ever return -1 from print_bss_info() as that causes corruption of the output. Also don't return -1 from print_fils_indication() as that would stop the iteration over all BSSs. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
12a9574342
commit
14d7b9e371
1 changed files with 6 additions and 8 deletions
|
@ -4962,7 +4962,7 @@ static int print_fils_indication(struct wpa_bss *bss, char *pos, char *end)
|
||||||
ie_end = ie + 2 + ie[1];
|
ie_end = ie + 2 + ie[1];
|
||||||
ie += 2;
|
ie += 2;
|
||||||
if (ie_end - ie < 2)
|
if (ie_end - ie < 2)
|
||||||
return -1;
|
return 0;
|
||||||
|
|
||||||
info = WPA_GET_LE16(ie);
|
info = WPA_GET_LE16(ie);
|
||||||
ie += 2;
|
ie += 2;
|
||||||
|
@ -4974,7 +4974,7 @@ static int print_fils_indication(struct wpa_bss *bss, char *pos, char *end)
|
||||||
if (info & BIT(7)) {
|
if (info & BIT(7)) {
|
||||||
/* Cache Identifier Included */
|
/* Cache Identifier Included */
|
||||||
if (ie_end - ie < 2)
|
if (ie_end - ie < 2)
|
||||||
return -1;
|
return 0;
|
||||||
ret = os_snprintf(pos, end - pos, "fils_cache_id=%02x%02x\n",
|
ret = os_snprintf(pos, end - pos, "fils_cache_id=%02x%02x\n",
|
||||||
ie[0], ie[1]);
|
ie[0], ie[1]);
|
||||||
if (os_snprintf_error(end - pos, ret))
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
@ -4986,7 +4986,7 @@ static int print_fils_indication(struct wpa_bss *bss, char *pos, char *end)
|
||||||
if (info & BIT(8)) {
|
if (info & BIT(8)) {
|
||||||
/* HESSID Included */
|
/* HESSID Included */
|
||||||
if (ie_end - ie < ETH_ALEN)
|
if (ie_end - ie < ETH_ALEN)
|
||||||
return -1;
|
return 0;
|
||||||
ret = os_snprintf(pos, end - pos, "fils_hessid=" MACSTR "\n",
|
ret = os_snprintf(pos, end - pos, "fils_hessid=" MACSTR "\n",
|
||||||
MAC2STR(ie));
|
MAC2STR(ie));
|
||||||
if (os_snprintf_error(end - pos, ret))
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
@ -4998,7 +4998,7 @@ static int print_fils_indication(struct wpa_bss *bss, char *pos, char *end)
|
||||||
realms = (info & (BIT(3) | BIT(4) | BIT(5))) >> 3;
|
realms = (info & (BIT(3) | BIT(4) | BIT(5))) >> 3;
|
||||||
if (realms) {
|
if (realms) {
|
||||||
if (ie_end - ie < realms * 2)
|
if (ie_end - ie < realms * 2)
|
||||||
return -1;
|
return 0;
|
||||||
ret = os_snprintf(pos, end - pos, "fils_realms=");
|
ret = os_snprintf(pos, end - pos, "fils_realms=");
|
||||||
if (os_snprintf_error(end - pos, ret))
|
if (os_snprintf_error(end - pos, ret))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -5394,13 +5394,13 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
|
||||||
if (ieee802_11_rsnx_capab(rsnxe, WLAN_RSNX_CAPAB_SAE_H2E)) {
|
if (ieee802_11_rsnx_capab(rsnxe, WLAN_RSNX_CAPAB_SAE_H2E)) {
|
||||||
ret = os_snprintf(pos, end - pos, "[SAE-H2E]");
|
ret = os_snprintf(pos, end - pos, "[SAE-H2E]");
|
||||||
if (os_snprintf_error(end - pos, ret))
|
if (os_snprintf_error(end - pos, ret))
|
||||||
return -1;
|
return 0;
|
||||||
pos += ret;
|
pos += ret;
|
||||||
}
|
}
|
||||||
if (ieee802_11_rsnx_capab(rsnxe, WLAN_RSNX_CAPAB_SAE_PK)) {
|
if (ieee802_11_rsnx_capab(rsnxe, WLAN_RSNX_CAPAB_SAE_PK)) {
|
||||||
ret = os_snprintf(pos, end - pos, "[SAE-PK]");
|
ret = os_snprintf(pos, end - pos, "[SAE-PK]");
|
||||||
if (os_snprintf_error(end - pos, ret))
|
if (os_snprintf_error(end - pos, ret))
|
||||||
return -1;
|
return 0;
|
||||||
pos += ret;
|
pos += ret;
|
||||||
}
|
}
|
||||||
osen_ie = wpa_bss_get_vendor_ie(bss, OSEN_IE_VENDOR_TYPE);
|
osen_ie = wpa_bss_get_vendor_ie(bss, OSEN_IE_VENDOR_TYPE);
|
||||||
|
@ -5699,8 +5699,6 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
|
||||||
#ifdef CONFIG_FILS
|
#ifdef CONFIG_FILS
|
||||||
if (mask & WPA_BSS_MASK_FILS_INDICATION) {
|
if (mask & WPA_BSS_MASK_FILS_INDICATION) {
|
||||||
ret = print_fils_indication(bss, pos, end);
|
ret = print_fils_indication(bss, pos, end);
|
||||||
if (ret < 0)
|
|
||||||
return 0;
|
|
||||||
pos += ret;
|
pos += ret;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_FILS */
|
#endif /* CONFIG_FILS */
|
||||||
|
|
Loading…
Reference in a new issue