]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Fixed a segfault when multiple ProxyBlock directives were used.
authorGraham Leggett <minfrin@apache.org>
Tue, 15 Apr 2003 16:01:02 +0000 (16:01 +0000)
committerGraham Leggett <minfrin@apache.org>
Tue, 15 Apr 2003 16:01:02 +0000 (16:01 +0000)
PR: 19023
Obtained from:
Submitted by: Sami Tikka <sami.tikka@f-secure.com>
Reviewed by:

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

CHANGES
modules/proxy/proxy_util.c

diff --git a/CHANGES b/CHANGES
index 72b552264ce5c8c0e8c289d49e4386cc6d3ce2e7..c73c8979c7baaf5a24d66ebf1f6497be403fdaca 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -163,6 +163,9 @@ Changes with Apache 2.1.0-dev
 
 Changes with Apache 2.0.46
 
+  *) Fixed a segfault when multiple ProxyBlock directives were used.
+     PR: 19023 [Sami Tikka <sami.tikka@f-secure.com>]
+
   *) SECURITY [CAN-2003-0134] OS2: Fix a Denial of Service vulnerability 
      identified and reported by Robert Howard <rihoward@rawbw.com> that 
      where device names faulted the running OS2 worker process.
index fb97a16c0524abf16ca509c4231432309d0c7bf8..0b23bf8b56950e26d3392bbbe706484af8779c9d 100644 (file)
@@ -1015,10 +1015,12 @@ PROXY_DECLARE(int) ap_proxy_checkproxyblock(request_rec *r, proxy_server_conf *c
                              apr_sockaddr_t *uri_addr)
 {
     int j;
+    apr_sockaddr_t * src_uri_addr = uri_addr;
     /* XXX FIXME: conf->noproxies->elts is part of an opaque structure */
     for (j = 0; j < conf->noproxies->nelts; j++) {
         struct noproxy_entry *npent = (struct noproxy_entry *) conf->noproxies->elts;
         struct apr_sockaddr_t *conf_addr = npent[j].addr;
+        uri_addr = src_uri_addr;
         ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
                      "proxy: checking remote machine [%s] against [%s]", uri_addr->hostname, npent[j].name);
         if ((npent[j].name && ap_strstr_c(uri_addr->hostname, npent[j].name))