From: Jouni Malinen Date: Sat, 3 Dec 2016 15:38:01 +0000 (+0200) Subject: wpa_priv: Handler driver global_deinit() on termination path X-Git-Tag: hostap_2_7~2082 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d97561dcda1756f081817e541cc2712d8dbf03c;p=thirdparty%2Fhostap.git wpa_priv: Handler driver global_deinit() on termination path This avoids a theoretical resource leak on exit path if wpa_priv is killed while there is a wpa_supplicant process using it. Signed-off-by: Jouni Malinen --- diff --git a/wpa_supplicant/wpa_priv.c b/wpa_supplicant/wpa_priv.c index 11905f328..6de590a52 100644 --- a/wpa_supplicant/wpa_priv.c +++ b/wpa_supplicant/wpa_priv.c @@ -685,8 +685,12 @@ static void wpa_priv_interface_deinit(struct wpa_priv_interface *iface) { int i; - if (iface->drv_priv && iface->driver->deinit) - iface->driver->deinit(iface->drv_priv); + if (iface->drv_priv) { + if (iface->driver->deinit) + iface->driver->deinit(iface->drv_priv); + if (iface->drv_global_priv) + iface->driver->global_deinit(iface->drv_global_priv); + } if (iface->fd >= 0) { eloop_unregister_read_sock(iface->fd);