catz: unregister the db update-notify callback before detaching from db

When detaching from the previous version of the database, make sure
that the update-notify callback is unregistered, otherwise there is
an INSIST check which can generate an assertion failure in free_rbtdb(),
which checks that there are no outstanding update listeners in the list.

There is a similar code already in place for RPZ.
This commit is contained in:
Aram Sargsyan
2023-01-27 08:47:52 +00:00
committed by Arаm Sаrgsyаn
parent 0ef0c86632
commit cf79692a66

View File

@@ -2106,6 +2106,8 @@ dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg) {
if (catz->dbversion != NULL) {
dns_db_closeversion(catz->db, &catz->dbversion, false);
}
dns_db_updatenotify_unregister(
catz->db, dns_catz_dbupdate_callback, catz->catzs);
dns_db_detach(&catz->db);
/*
* We're not registering db update callback, it will be