Fix memory leak 96/232496/3 accepted/tizen/unified/20200507.052329 submit/tizen/20200506.042332 submit/tizen/20200506.120225
authorSeonah Moon <seonah1.moon@samsung.com>
Wed, 6 May 2020 03:30:13 +0000 (12:30 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Wed, 6 May 2020 03:42:18 +0000 (12:42 +0900)
Change-Id: I71e4d15c12aeb70db9c0cf1d8cd4b4636fb1989d

packaging/capi-network-wifi-manager.spec
src/network_internal.c

index 2a63815..f1c71ab 100755 (executable)
@@ -1,6 +1,6 @@
 Name:          capi-network-wifi-manager
 Summary:       Network Wi-Fi library in TIZEN C API
-Version:       1.0.48
+Version:       1.0.49
 Release:       1
 Group:         System/Network
 License:       Apache-2.0
index 26c40b6..64d9a28 100755 (executable)
@@ -364,8 +364,10 @@ static void __net_client_clear_cb_data(net_event_info_s *client)
                                client->Event == NET_EVENT_WIFI_NETLINK_SCAN_IND) {
                        GSList *bss_info_list = client->Data;
 
-                       if (bss_info_list != NULL)
+                       if (bss_info_list != NULL) {
                                g_slist_free_full(bss_info_list, g_free);
+                               client->Data = NULL;
+                       }
                }
                g_free(client->Data);
        }
@@ -409,14 +411,7 @@ void _net_client_callback(net_event_info_s *event_data)
                        if (event_data->Event == NET_EVENT_WIFI_SPECIFIC_SCAN_IND ||
                                event_data->Event == NET_EVENT_WIFI_BSSID_SCAN_IND ||
                                event_data->Event == NET_EVENT_WIFI_NETLINK_SCAN_IND) {
-                               client->Data = g_try_malloc0(sizeof(GSList));
-                               if (client->Data == NULL) {
-                                       g_free(client);
-                                       __NETWORK_FUNC_EXIT__;
-                                       return;
-                               }
-
-                               memcpy(client->Data, event_data->Data, sizeof(GSList));
+                               client->Data = event_data->Data;
                        } else {
                                client->Data = g_try_malloc0(event_data->Datalength);
                                if (client->Data == NULL) {