net/nfp: close sockfd before return if errors

Message ID 20190408110204.19161-1-alejandro.lucero@netronome.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/nfp: close sockfd before return if errors |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Alejandro Lucero April 8, 2019, 11:02 a.m. UTC
  Not closing the socket implies a resource leak.

Coverity issue: 336865
Fixes: 29a62d1476b6 ("net/nfp: add CPP bridge as service")
Cc: stable@dpdk.org

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
---
 drivers/net/nfp/nfp_net.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Ferruh Yigit April 8, 2019, 4:59 p.m. UTC | #1
On 4/8/2019 12:02 PM, Alejandro Lucero wrote:
> Not closing the socket implies a resource leak.
> 
> Coverity issue: 336865
> Fixes: 29a62d1476b6 ("net/nfp: add CPP bridge as service")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index d4c94d7cc..b2ff03a67 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -3301,6 +3301,7 @@  nfp_cpp_bridge_service_func(void *args)
 	if (ret < 0) {
 		RTE_LOG(ERR, PMD, "%s: bind error (%d). Service failed\n",
 				  __func__, errno);
+		close(sockfd);
 		return ret;
 	}
 
@@ -3308,6 +3309,7 @@  nfp_cpp_bridge_service_func(void *args)
 	if (ret < 0) {
 		RTE_LOG(ERR, PMD, "%s: listen error(%d). Service failed\n",
 				  __func__, errno);
+		close(sockfd);
 		return ret;
 	}
 
@@ -3317,6 +3319,7 @@  nfp_cpp_bridge_service_func(void *args)
 			RTE_LOG(ERR, PMD, "%s: accept call error (%d)\n",
 					  __func__, errno);
 			RTE_LOG(ERR, PMD, "%s: service failed\n", __func__);
+			close(sockfd);
 			return -EIO;
 		}