http_send.c: Fix a bug in http_post_select().
[paraslash.git] / http_send.c
index 40f0c0a..f8ee656 100644 (file)
@@ -136,8 +136,10 @@ static void http_post_select(fd_set *rfds, __a_unused fd_set *wfds)
        if (!FD_ISSET(listen_fd, rfds))
                return;
        ret = para_accept(listen_fd, NULL, 0);
-       if (ret < 0)
-               goto err_out;
+       if (ret < 0) {
+               PARA_ERROR_LOG("%s\n", para_strerror(-ret));
+               return;
+       }
        sc = para_calloc(sizeof(*sc));
        sc->fd = ret;
        sc->name = make_message("%s", remote_name(sc->fd));
@@ -168,8 +170,7 @@ static void http_post_select(fd_set *rfds, __a_unused fd_set *wfds)
        return;
 err_out:
        PARA_WARNING_LOG("%s\n", para_strerror(-ret));
-       if (sc->fd > 0)
-               close(sc->fd);
+       close(sc->fd);
        free(sc);
 }