From de62aedabc96e7492c40bbc4468ba42b3274bfd6 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Sat, 27 Sep 2014 09:08:29 -0400 Subject: misc: Fix a bunch of minor issues identified by static analysis Add some missing initialisation, and fix a handful benign resource leaks (including some false positives). --- src/base/output.cc | 2 ++ src/base/socket.cc | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/base') diff --git a/src/base/output.cc b/src/base/output.cc index 912ec20e9..da9a551fa 100644 --- a/src/base/output.cc +++ b/src/base/output.cc @@ -255,6 +255,8 @@ OutputDirectory::remove(const string &name, bool recursive) de = readdir(subdir); } + + closedir(subdir); } // try to force recognition that we deleted the files in the directory diff --git a/src/base/socket.cc b/src/base/socket.cc index c39accd7e..01fb519b4 100644 --- a/src/base/socket.cc +++ b/src/base/socket.cc @@ -94,8 +94,9 @@ ListenSocket::listen(int port, bool reuse) struct sockaddr_in sockaddr; sockaddr.sin_family = PF_INET; sockaddr.sin_addr.s_addr = INADDR_ANY; - sockaddr.sin_port = htons(port); + // finally clear sin_zero + memset(&sockaddr.sin_zero, 0, sizeof(sockaddr.sin_zero)); int ret = ::bind(fd, (struct sockaddr *)&sockaddr, sizeof (sockaddr)); if (ret != 0) { if (ret == -1 && errno != EADDRINUSE) @@ -126,7 +127,9 @@ ListenSocket::accept(bool nodelay) int sfd = ::accept(fd, (struct sockaddr *)&sockaddr, &slen); if (sfd != -1 && nodelay) { int i = 1; - ::setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, (char *)&i, sizeof(i)); + if (::setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, (char *)&i, + sizeof(i)) < 0) + warn("ListenSocket(accept): setsockopt() TCP_NODELAY failed!"); } return sfd; -- cgit v1.2.3