From: Nirav Shah Date: Fri, 6 Apr 2012 15:41:06 +0000 (+0300) Subject: P2P: Disconnect P2P group on supplicant deinit X-Git-Tag: hostap_2_0~753 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=103b8f4dea947df496080f646a8a955d24fcdb3d;p=thirdparty%2Fhostap.git P2P: Disconnect P2P group on supplicant deinit When a supplicant is deinited and shutting, disconnect from P2P groups. This fixes a memory leak on variable dbus_groupobj_path on exiting supplicant. Signed-hostap: Nirav Shah Signed-hostap: Angie Chinchilla --- diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 4b5c95de3..1c339d2d6 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -2479,7 +2479,6 @@ void wpas_p2p_deinit(struct wpa_supplicant *wpa_s) void wpas_p2p_deinit_global(struct wpa_global *global) { struct wpa_supplicant *wpa_s, *tmp; - char *ifname; if (global->p2p == NULL) return; @@ -2500,12 +2499,9 @@ void wpas_p2p_deinit_global(struct wpa_global *global) } if (tmp == NULL) break; - ifname = os_strdup(tmp->ifname); type = wpas_p2p_if_type(tmp->p2p_group_interface); - wpa_supplicant_remove_iface(global, tmp, 0); - if (ifname) - wpa_drv_if_remove(wpa_s, type, ifname); - os_free(ifname); + /* Disconnect from the P2P group and deinit the interface */ + wpas_p2p_disconnect(tmp); } /*