You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2021/04/06 10:05:56 UTC

[cxf] 01/02: Avoid a possible ArrayIndexOutOfBoundsException in ClientProxyImpl

This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch 3.3.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit d94491c709842900c47fec10bd65a92efd3d265c
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Tue Apr 6 10:08:53 2021 +0100

    Avoid a possible ArrayIndexOutOfBoundsException in ClientProxyImpl
    
    (cherry picked from commit 42ddaa3041b79042e2bd75945cad191dbc294bbc)
    (cherry picked from commit 70ced3220f319331094448858df835f9100cb857)
---
 .../src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java   | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
index 94a4acf..59ca9b5 100644
--- a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
+++ b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
@@ -1087,8 +1087,9 @@ public class ClientProxyImpl extends AbstractClient implements
             Annotation[] anns = customAnns != null ? customAnns
                 : getMethodAnnotations(ori.getAnnotatedMethod(), bodyIndex);
             try {
-                if (bodyIndex != -1) {
-                    Class<?> paramClass = method.getParameterTypes()[bodyIndex];
+                Class<?>[] parameterTypes = method.getParameterTypes();
+                if (bodyIndex >= 0 && bodyIndex < parameterTypes.length) {
+                    Class<?> paramClass = parameterTypes[bodyIndex];
                     Class<?> bodyClass =
                         paramClass.isAssignableFrom(body.getClass()) ? paramClass : body.getClass();
                     Type genericType = method.getGenericParameterTypes()[bodyIndex];