From b049b8ce6a70f13f8cc8e33bfb16e1871282f700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tatuya=20JINMEI=20=E7=A5=9E=E6=98=8E=E9=81=94=E5=93=89?= Date: Fri, 15 Aug 2008 19:36:49 +0000 Subject: [PATCH] 2418. [bug] AXFR request on a DLZ could trigger a REQUIRE failure [RT #18430] --- CHANGES | 3 +++ bin/named/xfrout.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 568a42e0ed..cc950daf1c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2418. [bug] AXFR request on a DLZ could trigger a REQUIRE failure + [RT #18430] + 2417. [bug] Connecting UDP sockets for outgoing queries could unexpectedly fail with an 'address already in use' error. [RT #18411] diff --git a/bin/named/xfrout.c b/bin/named/xfrout.c index ba6ae3f227..befd09ef8a 100644 --- a/bin/named/xfrout.c +++ b/bin/named/xfrout.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: xfrout.c,v 1.128 2008/04/03 06:09:04 tbox Exp $ */ +/* $Id: xfrout.c,v 1.129 2008/08/15 19:36:49 jinmei Exp $ */ #include @@ -1333,7 +1333,8 @@ xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, unsigned int id, xfr->zone = NULL; xfr->db = NULL; xfr->ver = NULL; - dns_zone_attach(zone, &xfr->zone); + if (zone != NULL) /* zone will be NULL if it's DLZ */ + dns_zone_attach(zone, &xfr->zone); dns_db_attach(db, &xfr->db); dns_db_attachversion(db, ver, &xfr->ver); xfr->end_of_stream = ISC_FALSE;