diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-07-26 10:39:05 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-07-26 10:39:05 -0400 |
commit | a0912e32068621eb776d678224e4108511d281e3 (patch) | |
tree | 3fa35fe1f6a29a1e3990b65ac5c39fe90f50305f /listener.c | |
parent | a1a0e675318da89f2b13eb65a1f8cab601123bf9 (diff) | |
download | libevent-a0912e32068621eb776d678224e4108511d281e3.tar.gz |
Check more setsockopt return values when binding sockets. Found by coverity
Diffstat (limited to 'listener.c')
-rw-r--r-- | listener.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -226,9 +226,15 @@ evconnlistener_new_bind(struct event_base *base, evconnlistener_cb cb, } } - setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (void*)&on, sizeof(on)); + if (setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (void*)&on, sizeof(on))<0) { + evutil_closesocket(fd); + return NULL; + } if (flags & LEV_OPT_REUSEABLE) { - evutil_make_listen_socket_reuseable(fd); + if (evutil_make_listen_socket_reuseable(fd) < 0) { + evutil_closesocket(fd); + return NULL; + } } if (sa) { |