Merge branch '3640-fix-control-flow' into 'main'

Fix control flow issues in zone.c

Closes #3640

See merge request isc-projects/bind9!7013
This commit is contained in:
Evan Hunt 2023-01-04 22:48:16 +00:00
commit 480b5c7ca7

View file

@ -11942,7 +11942,7 @@ static isc_result_t
zone_dump(dns_zone_t *zone, bool compact) {
isc_result_t result;
dns_dbversion_t *version = NULL;
bool again;
bool again, async_write = false;
dns_db_t *db = NULL;
char *masterfile = NULL;
dns_masterformat_t masterformat = dns_masterformat_none;
@ -11984,6 +11984,8 @@ redo:
&zone->writeio);
if (result != ISC_R_SUCCESS) {
zone_idetach(&dummy);
} else {
async_write = true;
}
UNLOCK_ZONE(zone);
} else {
@ -12013,8 +12015,12 @@ fail:
}
masterfile = NULL;
if (result == ISC_R_SUCCESS) {
return (ISC_R_SUCCESS); /* XXXMPA */
if (async_write) {
/*
* Asyncronous write is in progress. Zone flags will get
* updated on completion. Cleanup is complete. We are done.
*/
return (ISC_R_SUCCESS);
}
again = false;