summaryrefslogtreecommitdiffstats
path: root/contrib/bind9/lib/dns/xfrin.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bind9/lib/dns/xfrin.c')
-rw-r--r--contrib/bind9/lib/dns/xfrin.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/bind9/lib/dns/xfrin.c b/contrib/bind9/lib/dns/xfrin.c
index c9f1d74..aa4d054 100644
--- a/contrib/bind9/lib/dns/xfrin.c
+++ b/contrib/bind9/lib/dns/xfrin.c
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: xfrin.c,v 1.124.2.4.2.7 2004/03/08 09:04:33 marka Exp $ */
+/* $Id: xfrin.c,v 1.124.2.4.2.9 2004/10/13 22:28:42 marka Exp $ */
#include <config.h>
@@ -500,8 +500,8 @@ xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, isc_uint32_t ttl,
case XFRST_IXFR_ADD:
if (rdata->type == dns_rdatatype_soa) {
isc_uint32_t soa_serial = dns_soa_getserial(rdata);
- CHECK(ixfr_commit(xfr));
if (soa_serial == xfr->end_serial) {
+ CHECK(ixfr_commit(xfr));
xfr->state = XFRST_END;
break;
} else if (soa_serial != xfr->ixfr.current_serial) {
@@ -511,6 +511,7 @@ xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, isc_uint32_t ttl,
xfr->ixfr.current_serial, soa_serial);
FAIL(DNS_R_FORMERR);
} else {
+ CHECK(ixfr_commit(xfr));
xfr->state = XFRST_IXFR_DELSOA;
goto redo;
}
@@ -922,9 +923,10 @@ tuple2msgname(dns_difftuple_t *tuple, dns_message_t *msg, dns_name_t **target)
failure:
- if (rds != NULL)
+ if (rds != NULL) {
dns_rdataset_disassociate(rds);
dns_message_puttemprdataset(msg, &rds);
+ }
if (rdl != NULL) {
ISC_LIST_UNLINK(rdl->rdata, rdata, link);
dns_message_puttemprdatalist(msg, &rdl);
OpenPOWER on IntegriCloud