socklen_t is unsigned int on most Linux platforms
[git.git] / daemon.c
index b6006c7..fc5e1c3 100644 (file)
--- a/daemon.c
+++ b/daemon.c
@@ -463,9 +463,7 @@ static int socksetup(int port, int **socklist_p)
                return 0;
        }
 
-       *socklist_p = malloc(sizeof(int));
-       if ( !*socklist_p )
-               die("memory allocation failed: %s", strerror(errno));
+       *socklist_p = xmalloc(sizeof(int));
        **socklist_p = sockfd;
 }
 
@@ -476,9 +474,7 @@ static int service_loop(int socknum, int *socklist)
        struct pollfd *pfd;
        int i;
 
-       pfd = calloc(socknum, sizeof(struct pollfd));
-       if (!pfd)
-               die("memory allocation failed: %s", strerror(errno));
+       pfd = xcalloc(socknum, sizeof(struct pollfd));
 
        for (i = 0; i < socknum; i++) {
                pfd[i].fd = socklist[i];
@@ -500,7 +496,7 @@ static int service_loop(int socknum, int *socklist)
                for (i = 0; i < socknum; i++) {
                        if (pfd[i].revents & POLLIN) {
                                struct sockaddr_storage ss;
-                               int sslen = sizeof(ss);
+                               unsigned int sslen = sizeof(ss);
                                int incoming = accept(pfd[i].fd, (struct sockaddr *)&ss, &sslen);
                                if (incoming < 0) {
                                        switch (errno) {