From 1a4e6e9cdbc53b02d04add729466bca6cd006ccd Mon Sep 17 00:00:00 2001 From: Martine Lenders Date: Fri, 21 Feb 2020 20:06:26 +0100 Subject: [PATCH] lwip_sock_tcp: close accepted connection if queue is full --- pkg/lwip/contrib/sock/tcp/lwip_sock_tcp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/lwip/contrib/sock/tcp/lwip_sock_tcp.c b/pkg/lwip/contrib/sock/tcp/lwip_sock_tcp.c index 438d0b1fdd..133c4e1bcc 100644 --- a/pkg/lwip/contrib/sock/tcp/lwip_sock_tcp.c +++ b/pkg/lwip/contrib/sock/tcp/lwip_sock_tcp.c @@ -243,6 +243,13 @@ int sock_tcp_accept(sock_tcp_queue_t *queue, sock_tcp_t **sock, } } else { + while (cib_avail(&queue->base.conn->acceptmbox.mbox.cib)) { + /* close connections potentially accepted by lwIP */ + if (netconn_accept(queue->base.conn, &tmp) == ERR_OK) { + netconn_close(tmp); + netconn_delete(tmp); + } + } res = -ENOMEM; } #if LWIP_SO_RCVTIMEO