]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
1619. [bug] Missing ISC_LIST_UNLINK in end_reserved_dispatches().
authorMark Andrews <marka@isc.org>
Tue, 20 Apr 2004 07:16:23 +0000 (07:16 +0000)
committerMark Andrews <marka@isc.org>
Tue, 20 Apr 2004 07:16:23 +0000 (07:16 +0000)
                        [RT# 11118]

CHANGES
bin/named/server.c

diff --git a/CHANGES b/CHANGES
index fdaf167bbde939c9dd8f37ae3c80e2e0b65074ff..537428e6554d2e30961a05cd2f4fec32269c7998 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,16 +1,22 @@
+1619.  [bug]           Missing ISC_LIST_UNLINK in end_reserved_dispatches().
+                       [RT# 11118]
+
 1618.  [bug]           Fencepost errors in dns_name_ishostname() and
                        dns_name_ismailbox() could trigger a INSIST().
 
 1617.  [port]          win32: VC++ 6.0 support.
 
-1616.  [placeholder]   rt11127
+1616.  [compat]        Ensure that named's version is visible in the core
+                       dump. [RT #11127]
 
 1615.  [port]          Define ISC_SOCKADDR_LEN_T based on _BSD_SOCKLEN_T_ if
                        it is defined.
 
 1614.  [port]          win32: silence resource limit messages. [RT# 11101]
 
-1613.  [placeholder]   rt11119
+1613.  [bug]           Builds would fail on machines w/o a if_nametoindex().
+                       Missing #ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX/#endif.
+                       [RT #11119]
 
 1612.  [placeholder]   rt11116
 
index 50e5cd56663489143575cb3d9f6d44f9b13f900e..19257f0fff2f6a8a685460f5784d2928bee99f53 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: server.c,v 1.423 2004/04/19 04:16:54 marka Exp $ */
+/* $Id: server.c,v 1.424 2004/04/20 07:16:23 marka Exp $ */
 
 #include <config.h>
 
@@ -3072,15 +3072,17 @@ start_reserved_dispatches(ns_server_t *server) {
 
 static void
 end_reserved_dispatches(ns_server_t *server, isc_boolean_t all) {
-       ns_dispatch_t *dispatch;
+       ns_dispatch_t *dispatch, *nextdispatch;
 
        REQUIRE(NS_SERVER_VALID(server));
 
        for (dispatch = ISC_LIST_HEAD(server->dispatches);
             dispatch != NULL;
-            dispatch = ISC_LIST_NEXT(dispatch, link)) {
+            dispatch = nextdispatch) {
+               nextdispatch = ISC_LIST_NEXT(dispatch, link);
                if (!all && server->dispatchgen == dispatch-> dispatchgen)
                        continue;
+               ISC_LIST_UNLINK(server->dispatches, dispatch, link);
                dns_dispatch_detach(&dispatch->dispatch);
                isc_mem_put(server->mctx, dispatch, sizeof(*dispatch));
        }