William McDonald created AMQ-5959:
-------------------------------------

             Summary: NullPointerException in finally blocks
                 Key: AMQ-5959
                 URL: https://issues.apache.org/jira/browse/AMQ-5959
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.12.0, 5.8.0
            Reporter: William McDonald
            Priority: Minor


Try blocks including a finally block that references a potential null object 
generating a NullPointerException.

In The DestinationView.sendTextMessage(java.util.Map, ...) method for example 
(http://grepcode.com/file/repo1.maven.org/maven2/org.apache.activemq/activemq-broker/5.11.1/org/apache/activemq/broker/jmx/DestinationView.java#DestinationView.sendTextMessage%28java.util.Map%2Cjava.lang.String%2Cjava.lang.String%2Cjava.lang.String%29),
 I noticed code like the following:  
        Connection connection = null;
        try {
            connection = cf.createConnection(userName, password);
         ...
             return msg.getJMSMessageID();
        } finally {
            connection.close();
        }

There is no catch block and since an exception in the createConnection method 
could be thrown, connection would be null in the finally block, causing a NPE 
and masking the real exception.

There may be other forms of this bad style which a code style checker should be 
able to locate for you.



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

Reply via email to