You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2011/03/30 09:24:05 UTC

svn commit: r1086861 - in /camel/trunk/components: camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java camel-http4/src/main/java/org/apache/camel/component/http4/DefaultHttpBinding.java

Author: ningjiang
Date: Wed Mar 30 07:24:05 2011
New Revision: 1086861

URL: http://svn.apache.org/viewvc?rev=1086861&view=rev
Log:
CAMEL-3816 Fixes the issue of ArrayIndexOutOfBound in DefaultHttpBinding

Modified:
    camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java
    camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/DefaultHttpBinding.java

Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java?rev=1086861&r1=1086860&r2=1086861&view=diff
==============================================================================
--- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java (original)
+++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java Wed Mar 30 07:24:05 2011
@@ -155,11 +155,13 @@ public class DefaultHttpBinding implemen
             String body = message.getBody(String.class);
             for (String param : body.split("&")) {
                 String[] pair = param.split("=", 2);
-                String name = URLDecoder.decode(pair[0], charset);
-                String value = URLDecoder.decode(pair[1], charset);
-                if (headerFilterStrategy != null
-                    && !headerFilterStrategy.applyFilterToExternalHeaders(name, value, message.getExchange())) {
-                    headers.put(name, value);
+                if (pair.length == 2) {
+                    String name = URLDecoder.decode(pair[0], charset);
+                    String value = URLDecoder.decode(pair[1], charset);
+                    if (headerFilterStrategy != null
+                        && !headerFilterStrategy.applyFilterToExternalHeaders(name, value, message.getExchange())) {
+                        headers.put(name, value);
+                    }
                 }
             }
         }

Modified: camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/DefaultHttpBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/DefaultHttpBinding.java?rev=1086861&r1=1086860&r2=1086861&view=diff
==============================================================================
--- camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/DefaultHttpBinding.java (original)
+++ camel/trunk/components/camel-http4/src/main/java/org/apache/camel/component/http4/DefaultHttpBinding.java Wed Mar 30 07:24:05 2011
@@ -156,11 +156,13 @@ public class DefaultHttpBinding implemen
             String body = message.getBody(String.class);
             for (String param : body.split("&")) {
                 String[] pair = param.split("=", 2);
-                String name = URLDecoder.decode(pair[0], charset);
-                String value = URLDecoder.decode(pair[1], charset);
-                if (headerFilterStrategy != null
-                        && !headerFilterStrategy.applyFilterToExternalHeaders(name, value, message.getExchange())) {
-                    headers.put(name, value);
+                if (pair.length == 2) {
+                    String name = URLDecoder.decode(pair[0], charset);
+                    String value = URLDecoder.decode(pair[1], charset);
+                    if (headerFilterStrategy != null
+                            && !headerFilterStrategy.applyFilterToExternalHeaders(name, value, message.getExchange())) {
+                        headers.put(name, value);
+                    }
                 }
             }
         }