Fix resource leak issues 59/215759/1 accepted/tizen_5.5_unified accepted/tizen_5.5_unified_mobile_hotfix accepted/tizen_5.5_unified_wearable_hotfix tizen_5.5_mobile_hotfix tizen_5.5_tv tizen_5.5_wearable_hotfix accepted/tizen/5.5/unified/20191031.024032 accepted/tizen/5.5/unified/mobile/hotfix/20201027.083950 accepted/tizen/5.5/unified/wearable/hotfix/20201027.114907 accepted/tizen/unified/20191016.000403 submit/tizen/20191015.105509 submit/tizen/20191015.120011 submit/tizen/20191015.233846 submit/tizen_5.5/20191031.000003 submit/tizen_5.5_mobile_hotfix/20201026.185103 submit/tizen_5.5_wearable_hotfix/20201026.184303 tizen_5.5.m2_release
authorJaehyun Kim <jeik01.kim@samsung.com>
Tue, 15 Oct 2019 10:42:17 +0000 (19:42 +0900)
committerJaehyun Kim <jeik01.kim@samsung.com>
Tue, 15 Oct 2019 10:42:17 +0000 (19:42 +0900)
Change-Id: I081edd102ba613815c9abdfa5905ead17a120377
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
src/network-profile-intf.c
src/network-signal-handler.c

index 6e7a488..f7b05a9 100755 (executable)
@@ -2962,6 +2962,10 @@ int _net_get_all_profile_list(network_info_t *network_info,
                                                "GetMeshPeers", NULL, &Error);
                if (mesh_message == NULL) {
                        NETWORK_LOG(NETWORK_ERROR, "Failed to get Mesh Peers list");
+                       NET_MEMFREE(cellular_profiles);
+                       NET_MEMFREE(wifi_profiles);
+                       NET_MEMFREE(ethernet_profiles);
+                       NET_MEMFREE(bluetooth_profiles);
                        __NETWORK_FUNC_EXIT__;
                        return Error;
                }
@@ -3018,6 +3022,12 @@ done:
        if (mesh_message != NULL)
                g_variant_unref(mesh_message);
 
+       NET_MEMFREE(cellular_profiles);
+       NET_MEMFREE(wifi_profiles);
+       NET_MEMFREE(ethernet_profiles);
+       NET_MEMFREE(bluetooth_profiles);
+       NET_MEMFREE(mesh_profiles);
+
        __NETWORK_FUNC_EXIT__;
        return Error;
 }
index b3e12e9..0391c8b 100755 (executable)
@@ -208,6 +208,7 @@ static void __net_handle_failure_ind(network_info_t *network_info,
        } else {
                __net_handle_state_ind(network_info, profile_name, NET_STATE_TYPE_FAILURE);
 
+               g_free(event_data);
                __NETWORK_FUNC_EXIT__;
                return;
        }
@@ -275,21 +276,26 @@ static int __net_handle_service_state_changed(network_info_t *network_info,
                return Error;
 
        device_type = _net_get_tech_type_from_path(sig_path);
-       if (device_type == NET_DEVICE_UNKNOWN)
+       if (device_type == NET_DEVICE_UNKNOWN) {
+               g_free(event_data);
                return Error;
+       }
 
        NETWORK_LOG(NETWORK_LOW, "[%s] %s", state, sig_path);
 
        if (device_type == NET_DEVICE_WIFI && net_wifi_state == WIFI_OFF) {
                NETWORK_LOG(NETWORK_LOW, "Wi-Fi is off");
+               g_free(event_data);
                return Error;
        }
 
        old_state = service_state_table[device_type];
        new_state = string2state(state);
 
-       if (old_state == new_state)
+       if (old_state == new_state) {
+               g_free(event_data);
                return Error;
+       }
 
        service_state_table[device_type] = new_state;
 
@@ -360,7 +366,6 @@ static int __net_handle_service_state_changed(network_info_t *network_info,
 
                        if (network_info && network_info->event_callback)
                                network_info->event_callback(event_data, network_info->user_data);
-                       g_free(event_data);
                }
 
                break;
@@ -391,7 +396,7 @@ static int __net_handle_service_state_changed(network_info_t *network_info,
 
                        if (network_info && network_info->event_callback)
                                network_info->event_callback(event_data, network_info->user_data);
-                       g_free(event_data);
+
                        break;
                }
 
@@ -412,7 +417,7 @@ static int __net_handle_service_state_changed(network_info_t *network_info,
 
                        if (network_info && network_info->event_callback)
                                network_info->event_callback(event_data, network_info->user_data);
-                       g_free(event_data);
+
                        break;
                }
 
@@ -433,7 +438,7 @@ static int __net_handle_service_state_changed(network_info_t *network_info,
 
                        if (network_info && network_info->event_callback)
                                network_info->event_callback(event_data, network_info->user_data);
-                       g_free(event_data);
+
                        break;
                }
 
@@ -449,7 +454,7 @@ static int __net_handle_service_state_changed(network_info_t *network_info,
 
                if (network_info && network_info->event_callback)
                        network_info->event_callback(event_data, network_info->user_data);
-               g_free(event_data);
+
                break;
        }
        case NET_STATE_TYPE_FAILURE:
@@ -461,6 +466,7 @@ static int __net_handle_service_state_changed(network_info_t *network_info,
                break;
        }
 
+       g_free(event_data);
        return Error;
 }
 
@@ -786,6 +792,7 @@ static int __net_handle_wifi_connect_fail_event(GVariant *param, network_info_t
                NETWORK_LOG(NETWORK_HIGH, "Sending NET_EVENT_WIFI_WPS_RSP");
        } else {
                NETWORK_LOG(NETWORK_LOW, "WiFi Connection flag not set");
+               g_free(event_data);
                __NETWORK_FUNC_EXIT__;
                return NET_ERR_NONE;
        }