From 72c0156e09d48bc760b3c731f0912ee1b45cfb86 Mon Sep 17 00:00:00 2001 From: Danny Al-Gaaf Date: Wed, 12 Nov 2014 11:35:57 +0100 Subject: [PATCH] net_handler.cc: close socket leak Close socket if set_nonblock() fails before return. Fix for: CID 1249633 (#1 of 1): Resource leak (RESOURCE_LEAK) 7. leaked_handle: Handle variable s going out of scope leaks the handle. Signed-off-by: Danny Al-Gaaf --- src/msg/async/net_handler.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/msg/async/net_handler.cc b/src/msg/async/net_handler.cc index 1ff73a4510f..c047c36194b 100644 --- a/src/msg/async/net_handler.cc +++ b/src/msg/async/net_handler.cc @@ -110,8 +110,10 @@ int NetHandler::generic_connect(const entity_addr_t& addr, bool nonblock) if (nonblock) { ret = set_nonblock(s); - if (ret < 0) + if (ret < 0) { + close(s); return ret; + } } ret = ::connect(s, (sockaddr*)&addr.addr, addr.addr_size()); if (ret < 0) { -- 2.47.3