Parcourir la source

WNM: Check wpa_s->current_bss more consistently

The scan result comparison routine would not make much sense without
current BSS level known, so return from the function without going
through the iteration that could have dereferenced the pointer if
wpa_s->current_bss == NULL.

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen il y a 11 ans
Parent
commit
67adcd266c
1 fichiers modifiés avec 2 ajouts et 3 suppressions
  1. 2 3
      wpa_supplicant/wnm_sta.c

+ 2 - 3
wpa_supplicant/wnm_sta.c

@@ -471,12 +471,11 @@ static int compare_scan_neighbor_results(struct wpa_supplicant *wpa_s,
 
 	u8 i, j;
 
-	if (scan_res == NULL || num_neigh_rep == 0)
+	if (scan_res == NULL || num_neigh_rep == 0 || !wpa_s->current_bss)
 		return 0;
 
 	wpa_printf(MSG_DEBUG, "WNM: Current BSS " MACSTR " RSSI %d",
-		   MAC2STR(wpa_s->bssid),
-		   wpa_s->current_bss ? wpa_s->current_bss->level : 0);
+		   MAC2STR(wpa_s->bssid), wpa_s->current_bss->level);
 
 	for (i = 0; i < num_neigh_rep; i++) {
 		for (j = 0; j < scan_res->num; j++) {