close path: make sure a second time timeout and ssl buffered lists are scrubbed
[platform/upstream/libwebsockets.git] / lib / libwebsockets.c
index 2ca8316..e774b93 100755 (executable)
@@ -101,6 +101,11 @@ lws_free_wsi(struct lws *wsi)
        }
        lws_pt_unlock(pt);
 
+       /* since we will destroy the wsi, make absolutely sure now */
+
+       lws_ssl_remove_wsi_from_buffered_list(wsi);
+       lws_remove_from_timeout_list(wsi);
+
        wsi->context->count_wsi_allocated--;
        lwsl_debug("%s: %p, remaining wsi %d\n", __func__, wsi,
                        wsi->context->count_wsi_allocated);