RFR: 7148497: javax.management.MBeanAttributeInfo.hashCode throws NullPointerException
Staffan Larsen
staffan.larsen at oracle.com
Tue Apr 10 07:33:35 PDT 2012
Looks good! (Although I wish there was a better way to write code like this).
/Staffan
On 10 apr 2012, at 15:50, Frederic Parain wrote:
> Greetings,
>
> This is a request for review for CR
> 7148497: javax.management.MBeanAttributeInfo.hashCode throws NullPointerException
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7148497
>
> Even if the initial CR only refers to MBeanAttributeInfo.hashCode(),
> the problem is not limited to the MBeanAttributeInfo.hashCode(), but is common to all javax.management.MBean*Info classes: MBeanAttributeInfo, MBeanConstructorInfo, MBeanFeatureInfo, MBeanInfo, MBeanNotificationInfo, MBeanOperationInfo and MBeanParameterInfo.
>
> The root cause of the problem is that these classes can be instantiated with some null fields (mainly, but not limited to, the name and type fields), and these fields are dereferenced unconditionally in some methods. Unconditional dereferencing is used in the hashCode method but also in the equals() method.
>
> The proposed fix improves implementation of equals() and hashCode()
> method to handle cases where some fields are null without throwing
> a NPE.
>
> Webrev:
> http://cr.openjdk.java.net/~fparain/7148497/webrev.00/
>
> Thanks,
>
> Fred
>
> --
> Frederic Parain - Oracle
> Grenoble Engineering Center - France
> Phone: +33 4 76 18 81 17
> Email: Frederic.Parain at oracle.com
>
More information about the serviceability-dev
mailing list