diff options
| author | Garrett D'Amore <garrett@damore.org> | 2025-07-13 14:56:10 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2025-07-13 14:56:10 -0700 |
| commit | d0f6672ee3fb5f3a30a0051120c6b043d8baff98 (patch) | |
| tree | acc80a47eaa37e4ccfb83b4c3b5075b5b931901f /src/sp | |
| parent | 3eb6dd56853b84893180b07a5cea9888dbe4c6f5 (diff) | |
| download | nng-d0f6672ee3fb5f3a30a0051120c6b043d8baff98.tar.gz nng-d0f6672ee3fb5f3a30a0051120c6b043d8baff98.tar.bz2 nng-d0f6672ee3fb5f3a30a0051120c6b043d8baff98.zip | |
DTLS: hold tls configuration
Diffstat (limited to 'src/sp')
| -rw-r--r-- | src/sp/transport/dtls/dtls.c | 10 |
1 files changed, 9 insertions, 1 deletions
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); } |
