adopt_socket_vhost: error path doesn't remove us from timeout list
authorAndy Green <andy@warmcat.com>
Fri, 9 Sep 2016 00:29:32 +0000 (08:29 +0800)
committerAndy Green <andy@warmcat.com>
Fri, 9 Sep 2016 20:54:20 +0000 (04:54 +0800)
As found by "github user 7"

https://github.com/warmcat/libwebsockets/issues/621

lib/server.c

index ab8b0a4..8765306 100644 (file)
@@ -1554,6 +1554,8 @@ lws_adopt_socket_vhost(struct lws_vhost *vh, lws_sockfd_type accept_fd)
         */
        if ((context->vhost_list->protocols[0].callback)(new_wsi,
             LWS_CALLBACK_SERVER_NEW_CLIENT_INSTANTIATED, NULL, NULL, 0)) {
+               /* force us off the timeout list by hand */
+               lws_set_timeout(new_wsi, NO_PENDING_TIMEOUT, 0);
                compatible_close(new_wsi->sock);
                lws_free(new_wsi);
                return NULL;