This is an automated email from the ASF dual-hosted git repository. coheigea pushed a commit to branch 3.4.x-fixes in repository https://gitbox.apache.org/repos/asf/cxf.git
commit 70ced3220f319331094448858df835f9100cb857 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) --- .../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 8f83be2..8937909 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 @@ -1085,8 +1085,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 = bodyType;
