[PATCH 2/2] ctrl_iface: BSS cmd skip mesh scan info if parsing fails

Jonathan Afek jonathan at wizery.com
Wed Jun 8 12:01:38 PDT 2016


In some cases parsing of the mesh scan info for a BSS can
fail. One reason can be that the beacon contained malformed
length vendor IEs which are not parsed when adding to the BSS
table. Instead of skipping the whole BSS of the BSS
command, just skip the mesh scan info.

Signed-off-by: Jonathan Afek <jonathanx.afek at intel.com>
---
 wpa_supplicant/ctrl_iface.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index 401cd61..36a39d1 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -4381,9 +4381,10 @@ static int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
 	if (mask & WPA_BSS_MASK_MESH_SCAN) {
 		ie = (const u8 *) (bss + 1);
 		ret = wpas_mesh_scan_result_text(ie, bss->ie_len, pos, end);
-		if (ret < 0 || ret >= end - pos)
+		if (ret >= end - pos)
 			return 0;
-		pos += ret;
+		if (ret > 0)
+			pos += ret;
 	}
 #endif /* CONFIG_MESH */
 
-- 
1.9.1




More information about the Hostap mailing list