From: Jaehyun Kim Date: Tue, 15 Oct 2019 10:42:17 +0000 (+0900) Subject: Fix resource leak issues X-Git-Tag: submit/tizen/20191015.105509^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Ftizen_5.5_wearable_hotfix;p=platform%2Fcore%2Fconnectivity%2Flibnet-client.git Fix resource leak issues Change-Id: I081edd102ba613815c9abdfa5905ead17a120377 Signed-off-by: Jaehyun Kim --- diff --git a/src/network-profile-intf.c b/src/network-profile-intf.c index 6e7a488..f7b05a9 100755 --- a/src/network-profile-intf.c +++ b/src/network-profile-intf.c @@ -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; } diff --git a/src/network-signal-handler.c b/src/network-signal-handler.c index b3e12e9..0391c8b 100755 --- a/src/network-signal-handler.c +++ b/src/network-signal-handler.c @@ -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; }