summaryrefslogtreecommitdiffstats
path: root/server.c
diff options
context:
space:
mode:
authornicm <nicm>2017-04-22 06:13:30 +0000
committernicm <nicm>2017-04-22 06:13:30 +0000
commit2c9bdd9e326723fb392aed4d8df12cba7ef34f1f (patch)
tree691b59eed3293ce346a7396cc95716f9ecdbc31a /server.c
parentc8ecbf38ab09d00920e97bd9363e16a1ebed0fa7 (diff)
Memory leaks, from David CARLIER.
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 78bc70db..e0987fca 100644
--- a/server.c
+++ b/server.c
@@ -119,12 +119,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);