diff --git a/lib/client-handshake.c b/lib/client-handshake.c index 7fa4f90c..32681fe8 100644 --- a/lib/client-handshake.c +++ b/lib/client-handshake.c @@ -278,6 +278,9 @@ lws_client_connect_2(struct lws *wsi) oom4: /* we're closing, losing some rx is OK */ wsi->u.hdr.ah->rxpos = wsi->u.hdr.ah->rxlen; + /* take care that we might be inserted in fds already */ + if (wsi->position_in_fds_table != -1) + goto failed; lws_header_table_detach(wsi, 0); lws_free(wsi);