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).
This commit is contained in:
Andreas Hansson
2014-09-27 09:08:29 -04:00
parent 71d5f03175
commit de62aedabc
11 changed files with 37 additions and 30 deletions

View File

@@ -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

View File

@@ -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;