From 984a695d3deecdad5017c57b61956ec24c6e2b56 Mon Sep 17 00:00:00 2001 From: Minji Park Date: Thu, 17 Nov 2016 21:21:33 +0900 Subject: [PATCH] [IOT-1575] Initialize socket fd after closing session - add socket fd initialization after closing TCP session in tcpserver Change-Id: Icb40f0c37ccc17ee9972974cfeae752e3a60048d Signed-off-by: Hyuna Jo Signed-off-by: Minji Park Reviewed-on: https://gerrit.iotivity.org/gerrit/14499 Tested-by: jenkins-iotivity Reviewed-by: jihwan seo Reviewed-by: Uze Choi Reviewed-by: Ashok Babu Channa --- resource/csdk/connectivity/src/tcp_adapter/catcpserver.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c index 909af76..681579b 100644 --- a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c +++ b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c @@ -310,7 +310,10 @@ static void CASelectReturned(fd_set *readFds) if (FD_ISSET(svritem->fd, readFds)) { CAReceiveMessage(svritem->fd); - FD_CLR(svritem->fd, readFds); + if (-1 != svritem->fd) + { + FD_CLR(svritem->fd, readFds); + } } } } @@ -1125,6 +1128,7 @@ CAResult_t CADisconnectTCPSession(CATCPSessionInfo_t *svritem, size_t index) { shutdown(svritem->fd, SHUT_RDWR); close(svritem->fd); + svritem->fd = -1; } u_arraylist_remove(caglobals.tcp.svrlist, index); OICFree(svritem->data); @@ -1137,6 +1141,7 @@ CAResult_t CADisconnectTCPSession(CATCPSessionInfo_t *svritem, size_t index) } OICFree(svritem); + svritem = NULL; return CA_STATUS_OK; } -- 2.7.4