summaryrefslogtreecommitdiffstats
path: root/server.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2017-04-22 08:01:54 +0100
committerThomas Adam <thomas@xteddy.org>2017-04-22 08:01:54 +0100
commitd8398af77033519b21258893927deeaa1208c17e (patch)
tree4807bb2c0ba5703866a4a3e1fa1bbf02f977e782 /server.c
parent21240c1a8f89a4615b5bd8fa129618fb45c1c3cb (diff)
parent30348edc7c0e3fd7afa545efbe48cdad69102e65 (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'server.c')
-rw-r--r--server.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/server.c b/server.c
index c44be5fb..bdbe9223 100644
--- a/server.c
+++ b/server.c
@@ -118,12 +118,16 @@ server_create_socket(void)
return (-1);
mask = umask(S_IXUSR|S_IXGRP|S_IRWXO);
- if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) == -1)
+ if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {
+ close(fd);
return (-1);
+ }
umask(mask);
- if (listen(fd, 128) == -1)
+ if (listen(fd, 128) == -1) {
+ close(fd);
return (-1);
+ }
setblocking(fd, 0);
return (fd);