diff --git a/CHANGES b/CHANGES index 128bf80600..30de24a8ac 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +1284. [bug] Memory leak if dns_db_beginload() failed. + 1283. [bug] Reference after free error if dns_dispatchmgr_create() failed. diff --git a/lib/dns/zone.c b/lib/dns/zone.c index b7b85a8a7a..2eec63afe2 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: zone.c,v 1.367 2002/04/02 08:04:42 marka Exp $ */ +/* $Id: zone.c,v 1.368 2002/05/08 06:51:49 marka Exp $ */ #include @@ -1170,7 +1170,7 @@ zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime) { result = dns_db_beginload(db, &callbacks.add, &callbacks.add_private); if (result != ISC_R_SUCCESS) - return (result); + goto cleanup; options = DNS_MASTER_MANYERRORS|DNS_MASTER_ZONE; if (zone->type == dns_zone_slave) options |= DNS_MASTER_SLAVE;