]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Prevent key=value being accepted as url.
authorJean-Frederic Clere <jfclere@apache.org>
Thu, 30 Apr 2009 15:43:34 +0000 (15:43 +0000)
committerJean-Frederic Clere <jfclere@apache.org>
Thu, 30 Apr 2009 15:43:34 +0000 (15:43 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@770293 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/mod_proxy.c

index 67346183c1891153d358df3d445497223d2692ab..821a2c92a09203b2b47cdb306fc2046f37c08707 100644 (file)
@@ -1761,22 +1761,26 @@ static const char *add_member(cmd_parms *cmd, void *dummy, const char *arg)
 
     if (cmd->path)
         path = apr_pstrdup(cmd->pool, cmd->path);
+
     while (*arg) {
+        char *val;
         word = ap_getword_conf(cmd->pool, &arg);
-        if (!path)
-            path = word;
-        else if (!name)
-            name = word;
-        else {
-            char *val = strchr(word, '=');
-            if (!val)
+        val = strchr(word, '=');
+
+        if (!val) {
+            if (!path)
+                path = word;
+            else if (!name)
+                name = word;
+            else {
                 if (cmd->path)
                     return "BalancerMember can not have a balancer name when defined in a location";
                 else
                     return "Invalid BalancerMember parameter. Parameter must "
                            "be in the form 'key=value'";
-            else
-                *val++ = '\0';
+            }
+        } else {
+            *val++ = '\0';
             apr_table_setn(params, word, val);
         }
     }