From 5183093c001c6e8687ea99c2e027f77f40657e70 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Thu, 26 Dec 2024 18:33:06 -0800 Subject: fix for potential leaking connections --- src/sp/transport/socket/sockfd.c | 5 ++++- src/sp/transport/tcp/tcp.c | 5 ++++- src/sp/transport/tls/tls.c | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/sp/transport/socket/sockfd.c b/src/sp/transport/socket/sockfd.c index b66687b3..82db1163 100644 --- a/src/sp/transport/socket/sockfd.c +++ b/src/sp/transport/socket/sockfd.c @@ -170,7 +170,10 @@ sfd_tran_pipe_nego_cb(void *arg) int rv; nni_mtx_lock(&ep->mtx); - + if (ep->closed) { + rv = NNG_ECLOSED; + goto error; + } if ((rv = nni_aio_result(aio)) != 0) { goto error; } diff --git a/src/sp/transport/tcp/tcp.c b/src/sp/transport/tcp/tcp.c index c8539c5e..3ce193c5 100644 --- a/src/sp/transport/tcp/tcp.c +++ b/src/sp/transport/tcp/tcp.c @@ -174,7 +174,10 @@ tcptran_pipe_nego_cb(void *arg) int rv; nni_mtx_lock(&ep->mtx); - + if (ep->closed) { + rv = NNG_ECLOSED; + goto error; + } if ((rv = nni_aio_result(aio)) != 0) { goto error; } diff --git a/src/sp/transport/tls/tls.c b/src/sp/transport/tls/tls.c index db301af3..c8926c41 100644 --- a/src/sp/transport/tls/tls.c +++ b/src/sp/transport/tls/tls.c @@ -175,6 +175,10 @@ tlstran_pipe_nego_cb(void *arg) int rv; nni_mtx_lock(&ep->mtx); + if (ep->closed) { + rv = NNG_ECLOSED; + goto error; + } if ((rv = nni_aio_result(aio)) != 0) { goto error; } -- cgit v1.2.3-70-g09d2