From af4598d37f71d04099bc841171469451a1763d73 Mon Sep 17 00:00:00 2001 From: Cheoleun Moon Date: Thu, 28 May 2020 17:23:27 +0900 Subject: [PATCH] Free netlink socket Change-Id: I1995731fb132fa75161a84a0eb8c14fc1b68de24 Signed-off-by: Cheoleun Moon --- src/wifi-netlink-scan.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/wifi-netlink-scan.c b/src/wifi-netlink-scan.c index c4ebca8..d74ab84 100755 --- a/src/wifi-netlink-scan.c +++ b/src/wifi-netlink-scan.c @@ -784,6 +784,17 @@ fail: return err; } +static void __netconfig_deinitialize_nl80211(netconfig_nl_global *global) +{ + if (global == NULL) + return; + + if (global->socket) { + nl_socket_free(global->socket); + global->socket = NULL; + } +} + static int __netconfig_initialize_nl_msg(netconfig_nl_global *global) { int rv; @@ -889,6 +900,7 @@ int handle_netlink_scan(Wifi *wifi, GDBusMethodInvocation *context, GVariant *pa DBG("__netconfig_netlink_scan() failed, error %d", ret); netconfig_error_dbus_method_return(context, NETCONFIG_ERROR_INTERNAL, "AccessDenied"); wifi_complete_netlink_scan(wifi, context); + __netconfig_deinitialize_nl80211(&global); return TRUE; } @@ -896,11 +908,13 @@ int handle_netlink_scan(Wifi *wifi, GDBusMethodInvocation *context, GVariant *pa if (ret < 0) { netconfig_error_dbus_method_return(context, NETCONFIG_ERROR_INTERNAL, "AccessDenied"); wifi_complete_netlink_scan(wifi, context); + __netconfig_deinitialize_nl80211(&global); return TRUE; } wifi_complete_netlink_scan(wifi, context); __netconfig_notify_netlink_scan_done(); + __netconfig_deinitialize_nl80211(&global); return TRUE; } -- 2.34.1