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);
}
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) {