Browse Source

P2P: Do not call wpas_p2p_disconnect_safely() if no match is found

In theory, wpas_p2p_disconnect_safely() could have dereferenced the
wpa_s == NULL argument, but in practice, it won't due to the
calling_wpa_s == wpa_s check and wpas_p2p_disconnect() accepting NULL.
Anyway, it is cleaner to add an explicit check for this. (CID 74492)

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen 10 years ago
parent
commit
3586d55a5d
1 changed files with 1 additions and 1 deletions
  1. 1 1
      wpa_supplicant/p2p_supplicant.c

+ 1 - 1
wpa_supplicant/p2p_supplicant.c

@@ -455,7 +455,7 @@ static void run_wpas_p2p_disconnect(void *eloop_ctx, void *timeout_ctx)
 static int wpas_p2p_disconnect_safely(struct wpa_supplicant *wpa_s,
 				      struct wpa_supplicant *calling_wpa_s)
 {
-	if (calling_wpa_s == wpa_s &&
+	if (calling_wpa_s == wpa_s && wpa_s &&
 	    wpa_s->p2p_group_interface != NOT_P2P_GROUP_INTERFACE) {
 		/*
 		 * The calling wpa_s instance is going to be removed. Do that