diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index 49a51fe9..4d0f4743 100644 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -312,7 +312,7 @@ just_kill_connection: wsi->state = WSI_STATE_DEAD_SOCKET; - if (old_state == WSI_STATE_ESTABLISHED && wsi->u.ws.rx_user_buffer) { + if ((old_state == WSI_STATE_ESTABLISHED || wsi->mode == LWS_CONNMODE_WS_SERVING) && wsi->u.ws.rx_user_buffer) { free(wsi->u.ws.rx_user_buffer); wsi->u.ws.rx_user_buffer = NULL; }