summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2017-07-30 22:09:55 +0200
committerLinus Nordberg <linus@nordu.net>2017-08-01 18:19:13 +0200
commit1e695906e679d6a4be772ea67ce8164da665ec12 (patch)
treeff2aeb9a6c6edc5543a59cf00a51902a60f7aabd /util.c
parent844ec06079f5276e15271eb66bc89d6d5acf04e2 (diff)
Check return value from setsockopt().
coverity: 1449508, 1449522.
Diffstat (limited to 'util.c')
-rw-r--r--util.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/util.c b/util.c
index c976175..7938310 100644
--- a/util.c
+++ b/util.c
@@ -139,10 +139,12 @@ int bindtoaddr(struct addrinfo *addrinfo, int family, int reuse, int v6only) {
disable_DF_bit(s,res);
if (reuse)
- setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
+ if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) == -1)
+ debugerrno(errno, DBG_WARN, "Failed to set SO_REUSEADDR");
#ifdef IPV6_V6ONLY
if (v6only)
- setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on));
+ if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on)) == -1)
+ debugerrno(errno, DBG_WARN, "Failed to set IPV6_V6ONLY");
#endif
if (!bind(s, res->ai_addr, res->ai_addrlen))
return s;