Fix SVACE warning when IP conflict callback is triggered 21/248321/4
authorNishant Chaprana <n.chaprana@samsung.com>
Wed, 25 Nov 2020 08:58:50 +0000 (14:28 +0530)
committerNishant Chaprana <n.chaprana@samsung.com>
Thu, 26 Nov 2020 05:55:17 +0000 (11:25 +0530)
Below SVCE warnings are fixed in this patch.
=================================
* MEMORY_LEAK.EX: Dynamic memory referenced by 'conflict_info.mac' was allocated at network_signal.c:1433 by calling function 'g_strdup' and lost at network_signal.c:1444.
    [create] Call of g_strdup at /home/abuild/rpmbuild/BUILD/capi-network-wifi-manager-1.3.2/src/network_signal.c:1433
    [leaked] leaked at /home/abuild/rpmbuild/BUILD/capi-network-wifi-manager-1.3.2/src/network_signal.c:1444
* MEMORY_LEAK.EX: Dynamic memory referenced by 'conflict_info.state' was allocated at network_signal.c:1430 by calling function 'g_strdup' and lost at network_signal.c:1444.
    [create] Call of g_strdup at /home/abuild/rpmbuild/BUILD/capi-network-wifi-manager-1.3.2/src/network_signal.c:1430
    [leaked] leaked at /home/abuild/rpmbuild/BUILD/capi-network-wifi-manager-1.3.2/src/network_signal.c:1444
=================================

Change-Id: I6438dba00550b99a4cd8bfca785f5f5b9d3c41d1
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
packaging/capi-network-wifi-manager.spec
src/network_signal.c
src/wifi_internal.c

index 3fb0710..ca2277b 100755 (executable)
@@ -1,6 +1,6 @@
 Name:          capi-network-wifi-manager
 Summary:       Network Wi-Fi library in TIZEN C API
-Version:       1.3.2
+Version:       1.3.3
 Release:       1
 Group:         System/Network
 License:       Apache-2.0
index 157eff2..e8b0ed8 100755 (executable)
@@ -1440,8 +1440,12 @@ static int __net_handle_ip_conflict_rsp(network_info_s *network_info,
                        NETCONFIG_SIGNAL_IP_CONFLICT_EVENT);
 
        event_data = g_try_malloc0(sizeof(net_event_info_s));
-       if (event_data == NULL)
+       if (event_data == NULL) {
+               g_free(conflict_info.mac);
+               g_free(conflict_info.state);
+
                return NET_ERR_OUT_OF_MEMORY;
+       }
 
        event_data->Error = NET_ERR_NONE;
        event_data->Event = NET_EVENT_WIFI_IP_CONFLICT_IND;
@@ -1452,6 +1456,9 @@ static int __net_handle_ip_conflict_rsp(network_info_s *network_info,
                network_info->event_callback(event_data, network_info->user_data);
 
        g_free(event_data);
+       g_free(conflict_info.mac);
+       g_free(conflict_info.state);
+
        return NET_ERR_NONE;
 }
 
index 9a8634d..ed8df84 100755 (executable)
@@ -902,11 +902,6 @@ static void __ip_conflict_cb(wifi_manager_handle_s *wifi_handle, net_event_info_
 
        if (wifi_handle->ip_conflict_cb)
                wifi_handle->ip_conflict_cb(mac, conflict_state, wifi_handle->ip_conflict_user_data);
-
-       if (conflict_info) {
-               g_free(conflict_info->mac);
-               g_free(conflict_info->state);
-       }
 }
 
 static void __netlink_scan_cb(wifi_manager_handle_s *wifi_handle, net_event_info_s *event_cb)