Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
udp: add more error checking to udp_bind()
  • Loading branch information
perexg committed Oct 15, 2014
1 parent b7c8a30 commit d239e65
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/udp.c
Expand Up @@ -181,7 +181,12 @@ udp_bind ( const char *subsystem, const char *name,
}

/* Mark reuse address */
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse));
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse))) {
tvherror(subsystem, "%s - failed to reuse address for socket [%s]",
name, strerror(errno));
udp_close(uc);
return UDP_FATAL_ERROR;
}

/* Bind to interface */
ifindex = udp_ifindex_required(uc) ? udp_get_ifindex(ifname) : 0;
Expand Down Expand Up @@ -260,7 +265,11 @@ udp_bind ( const char *subsystem, const char *name,
}

addrlen = sizeof(uc->ip);
getsockname(fd, (struct sockaddr *)&uc->ip, &addrlen);
if (getsockname(fd, (struct sockaddr *)&uc->ip, &addrlen)) {
tvherror(subsystem, "%s - cannot obtain socket name [%s]",
name, strerror(errno));
goto error;
}

/* Increase RX buffer size */
if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rxsize, sizeof(rxsize)) == -1)
Expand Down

0 comments on commit d239e65

Please sign in to comment.