From a4e3d25652a1a49c161da26c30878becc3f9e75e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Wed, 27 Nov 2024 14:12:50 +0100 Subject: [PATCH] Use attach()/detach() functions instead of touching .references In rbtdb.c, there were two places where the code touched .references directly instead of using the helper functions. Use the helper functions instead. --- lib/dns/rbtdb.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index 65c66dec6f..3e6c031733 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -2483,10 +2483,7 @@ cleanup_dead_nodes_callback(isc_task_t *task, isc_event_t *event) { isc_task_send(task, &event); } else { isc_event_free(&event); - if (isc_refcount_decrement(&rbtdb->references) == 1) { - (void)isc_refcount_current(&rbtdb->references); - maybe_free_rbtdb(rbtdb); - } + detach((dns_db_t **)&rbtdb); } } @@ -2749,7 +2746,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) { sizeof(*changed)); } if (event != NULL) { - isc_refcount_increment(&rbtdb->references); + attach((dns_db_t *)rbtdb, &(dns_db_t *){ NULL }); isc_task_send(rbtdb->task, &event); } else { RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_write);