+wfi-direct-manager (0.6.6) precise; urgency=low
+
+ * Fix resource leaks
+ * Git : framework/connectivity/wifi-direct-manager
+ * Tag : wifi-direct-manager_0.6.6
+
+ -- Jaehyun Kim <jeik01@samsung.com> Sun, 03 Feb 2013 20:45:45 +0900
+
wfi-direct-manager (0.6.5) precise; urgency=low
* Remove unuseful code
Name: wifi-direct-manager
Summary: Wi-Fi Direct manger
-Version: 0.6.5
+Version: 0.6.6
Release: 1
Group: TO_BE_FILLED
License: Apache License Version 2.0
if (bind(sockfd, (struct sockaddr*)&localAddr, sizeof(localAddr)) < 0)
{
WDP_LOGE( "Error!!! bind(). Error = [%s]. Give up..\n", strerror(errno));
+ close(sockfd);
__WDP_LOG_FUNC_EXIT__;
return -1;
}
if (unlink(path) < 0)
{
WDP_LOGE("unlink[ctrl_iface], Error=[%s]", strerror(errno));
+ close(sockfd);
__WDP_LOG_FUNC_EXIT__;
return -1;
}
- if (bind(sockfd, (struct sockaddr*)&servAddr, sizeof(servAddr)) < 0)
+ if (connect(sockfd, (struct sockaddr*)&servAddr, sizeof(servAddr)) < 0)
{
WDP_LOGE("bind[PF_UNIX], Error=[%s]", strerror(errno));
+ close(sockfd);
__WDP_LOG_FUNC_EXIT__;
return -1;
}
if (strcmp(stored_peer_mac, peer_mac_address) == 0)
{
+ fclose(fp);
return network_id;
}
}
&& (stored_network_id == network_id))
{
WDP_LOGD( "found peer in persistent peer list\n");
+ fclose(fp);
__WDP_LOG_FUNC_EXIT__;
return true;
}
{
WDP_LOGE( "__send_wpa_request FAILED!!\n");
*peer = NULL;
+ g_free(wfd_peer_info);
__WDP_LOG_FUNC_EXIT__;
return false;
}
if ( (result == 0) || (strncmp(res_buffer, "FAIL", 4) == 0)) /* p2p_supplicant returns the 'FAIL' if there is no discovered peer. */
{
*peer = NULL;
+ g_free(wfd_peer_info);
__WDP_LOG_FUNC_EXIT__;
return false;
}
__wfd_server_print_entry_list((wfd_discovery_entry_s*)plist, peer_count);
wfd_server_send_response(client->sync_sockfd, msg, total_msg_len);
+
+ g_free(msg);
__WDS_LOG_FUNC_EXIT__;
return;
}
if (wfd_server_send_response(client->sync_sockfd, &resp, sizeof(wifi_direct_client_response_s)) < 0)
{
wfd_server_reset_client(client->sync_sockfd);
+ g_free(plist);
__WDS_LOG_FUNC_EXIT__;
return;
}
+ g_free(plist);
break;
}
if (wfd_server_send_response(client->sync_sockfd, msg, total_msg_len) < 0)
{
wfd_server_reset_client(client->sync_sockfd);
+ g_free(plist);
+ g_free(msg);
__WDS_LOG_FUNC_EXIT__;
return;
}
-
+ g_free(plist);
+ g_free(msg);
}
break;
if (bind(sockfd, (struct sockaddr *) &servAddr, len) == -1)
{
WDS_LOGE( "Failed to bind server socket. Error = [%s]", strerror(errno));
+ close(sockfd);
__WDS_LOG_FUNC_EXIT__;
return -1;
}
if (chmod(WFD_SERVER_SOCKET_PATH, sock_mode) < 0)
{
WDS_LOGD( "Failed to change server socket file mode");
+ close(sockfd);
+ __WDS_LOG_FUNC_EXIT__;
return -1;
}
if (listen(sockfd, WFD_MAX_CLIENTS) == -1)
{
WDS_LOGF( "Failed to listen server socket. Error = [%s]", strerror(errno));
+ close(sockfd);
__WDS_LOG_FUNC_EXIT__;
return -1;
}
if (!plugin_load) {
WDS_LOGF( "Failed to load symbol. Error = [%s]", strerror(errno));
+ dlclose(handle);
return ;
}