nghttpx: Fix error found by coverity scan

This commit is contained in:
Tatsuhiro Tsujikawa 2015-02-22 17:53:12 +09:00
parent 4430b06c71
commit e583a25a8b
2 changed files with 49 additions and 41 deletions

View File

@ -205,6 +205,7 @@ create_unix_domain_acceptor(ConnectionHandler *handler) {
if (pathlen + 1 > sizeof(addr.un.sun_path)) {
LOG(FATAL) << "UNIX domain socket path " << path << " is too long > "
<< sizeof(addr.un.sun_path);
close(fd);
return nullptr;
}
// copy path including terminal NULL
@ -213,8 +214,17 @@ create_unix_domain_acceptor(ConnectionHandler *handler) {
// unlink (remove) already existing UNIX domain socket path
unlink(path);
if (bind(fd, &addr.sa, sizeof(addr.un)) != 0 ||
listen(fd, get_config()->backlog) != 0) {
if (bind(fd, &addr.sa, sizeof(addr.un)) != 0) {
auto error = errno;
LOG(FATAL) << "Failed to bind UNIX domain socket, error=" << error;
close(fd);
return nullptr;
}
if (listen(fd, get_config()->backlog) != 0) {
auto error = errno;
LOG(FATAL) << "Failed to listen to UNIX domain socket, error=" << error;
close(fd);
return nullptr;
}

View File

@ -406,14 +406,13 @@ http_parser_settings htp_hooks = {
} // namespace
int Http2Session::downstream_read_proxy() {
for (;;) {
if (rb_.rleft() == 0) {
return 0;
}
size_t nread = http_parser_execute(proxy_htp_.get(), &htp_hooks,
reinterpret_cast<const char *>(rb_.pos),
rb_.rleft());
size_t nread =
http_parser_execute(proxy_htp_.get(), &htp_hooks,
reinterpret_cast<const char *>(rb_.pos), rb_.rleft());
rb_.drain(nread);
@ -446,7 +445,6 @@ int Http2Session::downstream_read_proxy() {
}
return 0;
}
}
int Http2Session::downstream_connect_proxy() {