From: Jeff Trawick Date: Fri, 8 Dec 2006 12:23:33 +0000 (+0000) Subject: backport simple list manipulation fix: X-Git-Tag: 2.2.4~64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=225c63f0c0e6ec132f279b1486a1864c1126220f;p=thirdparty%2Fapache%2Fhttpd.git backport simple list manipulation fix: *) 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] Reviewed by: jim, wrowe git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@483958 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index d82024644b0..6d02ff9db9a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.2.4 + *) 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_headers: support regexp-based editing of HTTP headers [Nick Kew] * mod_proxy: Add explicit flushing feature. diff --git a/STATUS b/STATUS index ffd5afabf32..0fea0314dc8 100644 --- a/STATUS +++ b/STATUS @@ -98,15 +98,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK: Trunk version works +1: rpluem, trawick, wrowe - * Fix address-in-use startup failure caused by corruption of the list of - listen sockets in some configurations with multiple generic Listen - directives. - Trunk version of patch: - http://svn.apache.org/viewvc?view=rev&revision=467034 - 2.2.x version of patch: - Trunk version works - +1: trawick, jim, wrowe - * mod_dbd: Key the storage of prepared statements on the hex string value of server_rec, rather than the server name, as the server name may change (eg when the server name is set) at any time, causing diff --git a/server/listen.c b/server/listen.c index 36ad50b31ab..ddf87403987 100644 --- a/server/listen.c +++ b/server/listen.c @@ -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