From 76c9d2f6c0a5d6ea8bcc35fc3228d2019507b2bb Mon Sep 17 00:00:00 2001 From: Brian Wellington Date: Sun, 21 Jan 2001 18:50:41 +0000 Subject: [PATCH] 696. [bug] lwresd would die with an assertion failure when passed a zero-length name. [RT #692] --- CHANGES | 3 +++ bin/named/lwdgabn.c | 4 +++- bin/named/lwdgrbn.c | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index c67a95d939..6840f7c56b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,7 @@ + 696. [bug] lwresd would die with an assertion failure when passed + a zero-length name. [RT #692] + 695. [bug] If the resolver attempted to query a blackholed or bogus server, the resolution would fail immediately. diff --git a/bin/named/lwdgabn.c b/bin/named/lwdgabn.c index f39e557936..c1dc278002 100644 --- a/bin/named/lwdgabn.c +++ b/bin/named/lwdgabn.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: lwdgabn.c,v 1.11 2001/01/09 21:39:50 bwelling Exp $ */ +/* $Id: lwdgabn.c,v 1.12 2001/01/21 18:50:40 bwelling Exp $ */ #include @@ -608,6 +608,8 @@ ns_lwdclient_processgabn(ns_lwdclient_t *client, lwres_buffer_t *b) { b, &client->pkt, &req); if (result != LWRES_R_SUCCESS) goto out; + if (req->name == NULL || req->namelen == 0) + goto out; isc_buffer_init(&namebuf, req->name, req->namelen); isc_buffer_add(&namebuf, req->namelen); diff --git a/bin/named/lwdgrbn.c b/bin/named/lwdgrbn.c index 118b764106..cc74e39736 100644 --- a/bin/named/lwdgrbn.c +++ b/bin/named/lwdgrbn.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: lwdgrbn.c,v 1.7 2001/01/09 21:39:52 bwelling Exp $ */ +/* $Id: lwdgrbn.c,v 1.8 2001/01/21 18:50:41 bwelling Exp $ */ #include @@ -396,7 +396,7 @@ ns_lwdclient_processgrbn(ns_lwdclient_t *client, lwres_buffer_t *b) { b, &client->pkt, &req); if (result != LWRES_R_SUCCESS) goto out; - if (req->name == NULL) + if (req->name == NULL || req->namelen == 0) goto out; client->options = 0;