From 90c2adec8409b9b62479b22f68bef8bd2ed4c322 Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Wed, 8 Sep 1999 16:11:31 +0000 Subject: [PATCH] zone_findrdataset() could cause a core dump --- lib/dns/rbtdb.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index a10a8cb164..7dbbc0a58f 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -2574,7 +2574,7 @@ zone_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, { dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node; - rdatasetheader_t *header, *found, *foundsig; + rdatasetheader_t *header, *header_next, *found, *foundsig; rbtdb_serial_t serial; rbtdb_version_t *rbtversion = version; isc_boolean_t close_version = ISC_FALSE; @@ -2600,7 +2600,8 @@ zone_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, else sigmatchtype = 0; - for (header = rbtnode->data; header != NULL; header = header->next) { + for (header = rbtnode->data; header != NULL; header = header_next) { + header_next = header->next; do { if (header->serial <= serial && !IGNORE(header)) {