3966. [bug] Missing dns_db_closeversion call in receive_secure_db.

[RT #35746]
This commit is contained in:
Mark Andrews 2014-10-03 07:50:09 +10:00
parent a837c939c4
commit 9c0589bc8b
6 changed files with 42 additions and 1 deletions

View file

@ -1,3 +1,6 @@
3966. [bug] Missing dns_db_closeversion call in receive_secure_db.
[RT #35746]
3965. [func] Log outgoing packets and improve packet logging to
support logging the remote address. [RT #36624]

View file

@ -2319,6 +2319,9 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view,
dns_db_closeversion(db, &version, ISC_FALSE);
if (db != NULL)
dns_db_detach(&db);
INSIST(version == NULL);
return (result);
}

View file

@ -3296,6 +3296,8 @@ update_action(isc_task_t *task, isc_event_t *event) {
uev->ev_type = DNS_EVENT_UPDATEDONE;
uev->ev_action = updatedone_action;
isc_task_send(client->task, &event);
INSIST(ver == NULL);
INSIST(event == NULL);
}

View file

@ -707,6 +707,8 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone,
}
}
INSIST(dbversion == NULL);
return (result);
}

View file

@ -1392,6 +1392,8 @@ roll_forward(dns_journal_t *j, dns_db_t *db, unsigned int options) {
dns_diff_clear(&diff);
INSIST(ver == NULL);
return (result);
}

View file

@ -3895,6 +3895,8 @@ failure:
if (ver != NULL)
dns_db_closeversion(db, &ver, ISC_TF(result == ISC_R_SUCCESS));
INSIST(ver == NULL);
return (result);
}
@ -4057,6 +4059,8 @@ sync_keyzone(dns_zone_t *zone, dns_db_t *db) {
dns_db_closeversion(db, &ver, commit);
dns_diff_clear(&diff);
INSIST(ver == NULL);
return (result);
}
@ -6340,6 +6344,8 @@ zone_resigninc(dns_zone_t *zone) {
isc_interval_set(&ival, 300, 0);
isc_time_nowplusinterval(&zone->resigntime, &ival);
}
INSIST(version == NULL);
}
static isc_result_t
@ -7823,6 +7829,8 @@ zone_nsec3chain(dns_zone_t *zone) {
} else
isc_time_settoepoch(&zone->nsec3chaintime);
UNLOCK_ZONE(zone);
INSIST(version == NULL);
}
static isc_result_t
@ -8370,6 +8378,8 @@ zone_sign(dns_zone_t *zone) {
isc_time_nowplusinterval(&zone->signingtime, &i);
} else
isc_time_settoepoch(&zone->signingtime);
INSIST(version == NULL);
}
static isc_result_t
@ -9070,7 +9080,7 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
zone_needdump(zone, 30);
}
failure:
failure:
dns_diff_clear(&diff);
if (ver != NULL)
@ -9101,6 +9111,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
UNLOCK_ZONE(zone);
if (free_needed)
zone_free(zone);
INSIST(ver == NULL);
}
/*
@ -9273,6 +9285,8 @@ zone_refreshkeys(dns_zone_t *zone) {
dns_db_closeversion(db, &ver, commit);
}
dns_db_detach(&db);
INSIST(ver == NULL);
}
static void
@ -13630,6 +13644,9 @@ receive_secure_serial(isc_task_t *task, isc_event_t *event) {
dns_journal_destroy(&rjournal);
dns_diff_clear(&diff);
dns_zone_idetach(&zone);
INSIST(oldver == NULL);
INSIST(newver == NULL);
}
static isc_result_t
@ -14065,6 +14082,8 @@ receive_secure_db(isc_task_t *task, isc_event_t *event) {
if (db != NULL) {
if (node != NULL)
dns_db_detachnode(db, &node);
if (version != NULL)
dns_db_closeversion(db, &version, ISC_FALSE);
dns_db_detach(&db);
}
if (rawnode != NULL)
@ -14073,6 +14092,8 @@ receive_secure_db(isc_task_t *task, isc_event_t *event) {
if (dbiterator != NULL)
dns_dbiterator_destroy(&dbiterator);
dns_zone_idetach(&zone);
INSIST(version == NULL);
}
static isc_result_t
@ -17398,6 +17419,8 @@ zone_rekey(dns_zone_t *zone) {
dns_db_detachnode(db, &node);
if (db != NULL)
dns_db_detach(&db);
INSIST(ver == NULL);
return;
failure:
@ -17767,6 +17790,9 @@ keydone(isc_task_t *task, isc_event_t *event) {
dns_diff_clear(&diff);
isc_event_free(&event);
dns_zone_idetach(&zone);
INSIST(oldver == NULL);
INSIST(newver == NULL);
}
isc_result_t
@ -18002,6 +18028,9 @@ setnsec3param(isc_task_t *task, isc_event_t *event) {
dns_diff_clear(&diff);
isc_event_free(&event);
dns_zone_idetach(&zone);
INSIST(oldver == NULL);
INSIST(newver == NULL);
}
isc_result_t