Browse Source

MBO: Fix possible NULL pointer dereference on candidate handling

If the driver provides input on MBO transition candidate handling, the
target value in get_mbo_transition_candidate() can be NULL if the driver
provided BSSID is not found in the wpa_supplicant BSS table. And later
it would be dereferenced. Fix this by adding an explicit check before
dereferencing the pointer.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Pradeep Reddy Potteti 7 years ago
parent
commit
f2a04874cf
1 changed files with 3 additions and 2 deletions
  1. 3 2
      wpa_supplicant/wnm_sta.c

+ 3 - 2
wpa_supplicant/wnm_sta.c

@@ -581,8 +581,9 @@ get_mbo_transition_candidate(struct wpa_supplicant *wpa_s,
 		for (i = 0; i < info->num; i++) {
 			target = wpa_bss_get_bssid(wpa_s,
 						   info->candidates[i].bssid);
-			if (target->level <
-			    wpa_s->conf->disassoc_imminent_rssi_threshold)
+			if (target &&
+			    (target->level <
+			     wpa_s->conf->disassoc_imminent_rssi_threshold))
 				continue;
 			goto end;
 		}