]> granicus.if.org Git - apache/commitdiff
Fix address-in-use startup failure caused by corruption of the list of
authorJeff Trawick <trawick@apache.org>
Mon, 23 Oct 2006 17:18:35 +0000 (17:18 +0000)
committerJeff Trawick <trawick@apache.org>
Mon, 23 Oct 2006 17:18:35 +0000 (17:18 +0000)
listen sockets in some configurations with multiple generic Listen
directives.

The logic in error is that which prunes out generic IPv4 listening
sockets when we already have a v4-mapped generic IPv6 listening
socket for the same port.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@467034 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/listen.c

diff --git a/CHANGES b/CHANGES
index b49020bc838b725681d6c171eaff7c8141389e17..26deeeb095fd81ecb9726c8b8544c3f0962d6e71 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,10 @@
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 
+  *) Fix address-in-use startup failure caused by corruption of the list of 
+     listen sockets in some configurations with multiple generic Listen 
+     directives.  [Jeff Trawick]
+
   *) mod_authn_dbd: Export any additional columns queried in the SQL select
      into the environment with the name AUTHENTICATE_<COLUMN>. This brings
      mod_authn_dbd behaviour in line with mod_authnz_ldap. [Graham Leggett]
index 36ad50b31ab25148df95c197b0c11fe4debc00e4..ddf874039872451b4f95e816eed9837ea166b6e8 100644 (file)
@@ -415,6 +415,9 @@ static int open_listeners(apr_pool_t *pool)
 
                 /* Remove the current listener from the list */
                 previous->next = lr->next;
+                lr = previous; /* maintain current value of previous after
+                                * post-loop expression is evaluated
+                                */
                 continue;
             }
 #endif