iris ding created CXF-6388:
------------------------------

             Summary: NPE has been swallowed in 
org.apache.cxf.jaxrs.impl.AsyncResponseImpl
                 Key: CXF-6388
                 URL: https://issues.apache.org/jira/browse/CXF-6388
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS
    Affects Versions: 2.7.15, 3.0.4, 3.0.3
            Reporter: iris ding
            Priority: Minor


According to 
https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/AsyncResponse.html#register(java.lang.Class):
we need throw NullPointerException - in case the callback class is null in all 
register method. 

However, CXF swallows the NPE.

The proposed fix is to throw NPE in below method:

public Map<Class<?>, Collection<Class<?>>> register(Class<?> callback, 
Class<?>... callbacks)
                    throws NullPointerException {

        try {
            Object[] extraCallbacks = new Object[callbacks.length];
            for (int i = 0; i < callbacks.length; i++) {
                extraCallbacks[i] = callbacks[i].newInstance();
            }
            return register(callback.newInstance(), extraCallbacks);
        }
     //proposed change start
      catch (NullPointerException e)
        {
            throw e;
        } 
    //proposed change end
     catch (Throwable t) {
            return Collections.emptyMap();
        }

    }


After this, my CTS passed!







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

Reply via email to