]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
net_handler.cc: close another socket leak
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Wed, 12 Nov 2014 10:51:29 +0000 (11:51 +0100)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Thu, 13 Nov 2014 22:39:09 +0000 (23:39 +0100)
Close socket if ::setsockopt() fails before return.

Fix for:

CID 1249632 (#1 of 1): Resource leak (RESOURCE_LEAK)
9. leaked_handle: Handle variable s going out of scope leaks the handle.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/msg/async/net_handler.cc

index c047c36194b38cbacd2d0cf80f0c4f86c074813b..afe3909b200941b2fcb0d1ae632630e38adf876d 100644 (file)
@@ -44,6 +44,7 @@ int NetHandler::create_socket(int domain, bool reuse_addr)
     if (::setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) == -1) {
       lderr(cct) << __func__ << " setsockopt SO_REUSEADDR failed: %s"
                  << strerror(errno) << dendl;
+      close(s);
       return -errno;
     }
   }