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 <[email protected]> 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];
