From d0f6672ee3fb5f3a30a0051120c6b043d8baff98 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sun, 13 Jul 2025 14:56:10 -0700 Subject: DTLS: hold tls configuration --- src/sp/transport/dtls/dtls.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/sp') diff --git a/src/sp/transport/dtls/dtls.c b/src/sp/transport/dtls/dtls.c index 43c2a7cd..a4b1a6fb 100644 --- a/src/sp/transport/dtls/dtls.c +++ b/src/sp/transport/dtls/dtls.c @@ -1077,6 +1077,9 @@ dtls_ep_fini(void *arg) { dtls_ep *ep = arg; + if (ep->tlscfg != NULL) { + nng_tls_config_free(ep->tlscfg); + } nni_aio_fini(&ep->timeaio); nni_aio_fini(&ep->resaio); nni_aio_fini(&ep->tx_aio); @@ -1578,7 +1581,12 @@ dtls_ep_set_tls(void *arg, nng_tls_config *cfg) nni_mtx_unlock(&ep->mtx); return (NNG_EBUSY); } - ep->tlscfg = cfg; + nng_tls_config *old = ep->tlscfg; + ep->tlscfg = cfg; + nng_tls_config_hold(cfg); + if (old != NULL) { + nng_tls_config_free(old); + } nni_mtx_unlock(&ep->mtx); return (NNG_OK); } -- cgit v1.2.3-70-g09d2