diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/event/quic/ngx_event_quic_connid.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/event/quic/ngx_event_quic_connid.c b/src/event/quic/ngx_event_quic_connid.c index 273b58c65..2ad65077a 100644 --- a/src/event/quic/ngx_event_quic_connid.c +++ b/src/event/quic/ngx_event_quic_connid.c @@ -183,9 +183,10 @@ retire: if (ngx_quic_replace_retired_client_id(c, cid) != NGX_OK) { return NGX_ERROR; } - } - ngx_quic_unref_client_id(c, cid); + } else { + ngx_quic_unref_client_id(c, cid); + } } done: @@ -534,7 +535,9 @@ ngx_quic_unref_client_id(ngx_connection_t *c, ngx_quic_client_id_t *cid) { ngx_quic_connection_t *qc; - cid->refcnt--; + if (cid->refcnt) { + cid->refcnt--; + } /* else: unused client id */ if (cid->refcnt) { return; |