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);
+                    }
                 }
             }
         }


Reply via email to