Skip to content

Commit

Permalink
Always check return value of set_sock_nonblock()
Browse files Browse the repository at this point in the history
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
  • Loading branch information
dwmw2 committed Oct 10, 2019
1 parent 50e2f44 commit 9b68857
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
11 changes: 9 additions & 2 deletions ssl.c
Expand Up @@ -82,11 +82,14 @@ static int cancellable_connect(struct openconnect_info *vpninfo, int sockfd,
int maxfd = sockfd;
int err;

set_sock_nonblock(sockfd);
if (set_sock_nonblock(sockfd))
goto sockerr;

if (vpninfo->protect_socket)
vpninfo->protect_socket(vpninfo->cbdata, sockfd);

if (connect(sockfd, addr, addrlen) < 0 && !connect_pending()) {
sockerr:
#ifdef _WIN32
return WSAGetLastError();
#else
Expand Down Expand Up @@ -1000,7 +1003,11 @@ int udp_connect(struct openconnect_info *vpninfo)
}

set_fd_cloexec(fd);
set_sock_nonblock(fd);
if (set_sock_nonblock(fd)) {
vpn_perror(vpninfo, _("Make UDP socket non-blocking"));
closesocket(fd);
return -EIO;
}

return fd;
}
Expand Down
6 changes: 5 additions & 1 deletion tun.c
Expand Up @@ -460,7 +460,11 @@ int openconnect_setup_tun_fd(struct openconnect_info *vpninfo, int tun_fd)
monitor_fd_new(vpninfo, tun);
monitor_read_fd(vpninfo, tun);

set_sock_nonblock(tun_fd);
if (set_sock_nonblock(tun_fd)) {
vpn_progress(vpninfo, PRG_ERR, _("Failed to make tun socket nonblocking: %s\n"),
strerror(errno));
return -EIO;
}

return 0;
}
Expand Down

0 comments on commit 9b68857

Please sign in to comment.