diff options
author | Sumit Bose <sbose@redhat.com> | 2011-08-10 17:53:56 +0200 |
---|---|---|
committer | Amitay Isaacs <amitay@gmail.com> | 2013-07-11 15:16:55 +1000 |
commit | 157f1cfefd898aa7fb3dc67796565e4d5ad3d37c (patch) | |
tree | 69c2e111284d2850afd15b495ed9c2c403d90509 /ctdb/tcp | |
parent | d039f799ac426c903289800edc8febabe5bec49d (diff) | |
download | samba-157f1cfefd898aa7fb3dc67796565e4d5ad3d37c.tar.gz |
Fixes for various issues found by Coverity
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 05bfdbbd0d4abdfbcf28e3930086723508b35952)
Diffstat (limited to 'ctdb/tcp')
-rw-r--r-- | ctdb/tcp/tcp_connect.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ctdb/tcp/tcp_connect.c b/ctdb/tcp/tcp_connect.c index e8cae58bd6f..383d72641b2 100644 --- a/ctdb/tcp/tcp_connect.c +++ b/ctdb/tcp/tcp_connect.c @@ -154,6 +154,10 @@ void ctdb_tcp_node_connect(struct event_context *ev, struct timed_event *te, } tnode->fd = socket(sock_out.sa.sa_family, SOCK_STREAM, IPPROTO_TCP); + if (tnode->fd == -1) { + DEBUG(DEBUG_ERR, (__location__ "Failed to create socket\n")); + return; + } set_nonblocking(tnode->fd); set_close_on_exec(tnode->fd); @@ -196,7 +200,12 @@ void ctdb_tcp_node_connect(struct event_context *ev, struct timed_event *te, sock_in.ip.sin_len = sockin_size; sock_out.ip.sin_len = sockout_size; #endif - bind(tnode->fd, (struct sockaddr *)&sock_in, sockin_size); + if (bind(tnode->fd, (struct sockaddr *)&sock_in, sockin_size) == -1) { + DEBUG(DEBUG_ERR, (__location__ "Failed to bind socket %s(%d)\n", + strerror(errno), errno)); + close(tnode->fd); + return; + } if (connect(tnode->fd, (struct sockaddr *)&sock_out, sockout_size) != 0 && errno != EINPROGRESS) { |