cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CXF-6370) wrong usages for System.arraycopy in org.apache.cxf.jaxrs.impl.AsyncResponseImpl
Date Fri, 24 Apr 2015 10:24:43 GMT

     [ https://issues.apache.org/jira/browse/CXF-6370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sergey Beryozkin resolved CXF-6370.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: 3.0.5
                   3.1.0
         Assignee: Sergey Beryozkin

Thanks for the analysis, yeah, we have no tests where more than 1 callback is registered at
a time so it worked even with the broken copy code...

> wrong usages for System.arraycopy in org.apache.cxf.jaxrs.impl.AsyncResponseImpl
> --------------------------------------------------------------------------------
>
>                 Key: CXF-6370
>                 URL: https://issues.apache.org/jira/browse/CXF-6370
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.0.2, 3.0.3, 2.7.15
>            Reporter: iris ding
>            Assignee: Sergey Beryozkin
>             Fix For: 3.1.0, 3.0.5
>
>
> In org.apache.cxf.jaxrs.impl.AsyncResponseImpl, below method used 
> System.arraycopy(). However, it mismatch the arrary to copy out of and array to copy
into: 
> "void java.lang.System.arraycopy(Object array1, int start1, Object array2, int start2,
int length)
> Copies the contents of array1 starting at offset start1 into array2 starting at offset
start2 for length elements."
> After below modification, my CTS test passed!
> @Override
>     public Map<Class<?>, Collection<Class<?>>> register(Object
callback, Object... callbacks)
>                     throws NullPointerException {
>         Map<Class<?>, Collection<Class<?>>> map =
>                         new HashMap<Class<?>, Collection<Class<?>>>();
>         Object[] allCallbacks = new Object[1 + callbacks.length];
>         allCallbacks[0] = callback;
>        // wrong usage for System.arraycopy
>        // System.arraycopy(allCallbacks, 1, callbacks, 0, callbacks.length);
>         System.arraycopy(callbacks, 0, allCallbacks, 1, callbacks.length);



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message