Webrev request: JDK-8015081

Jamil Nimeh jamil.j.nimeh at oracle.com
Wed May 28 00:53:39 UTC 2014


Hello all,

This bug was originally to resolve issues where Subject principal and 
credential Set fields containing null elements could cause 
NullPointerException to be thrown.  It was decided to make the Subject 
throw NullPointerException when attempts to construct or modify Subjects 
will null elements.  In addition, certain Set methods called upon 
principals and credentials where the input Collection contained null 
elements could have different effects depending on which set.  These 
methods, when called with Collections containing null elements as input 
now throw NullPointerException as well.

Operation                     Before                         After
(Prin/Pub/Priv)               (Prin/Pub/Priv)                (Prin/Pub/Priv)
----------------------------------------------------------------------------
add(null)                     SecurityException/true/true    NPE/NPE/NPE
remove(null)                  false/false/false  (*)         NPE/NPE/NPE
contains(null)                false/false/false  (*)         NPE/NPE/NPE
addAll(collection w/ null)    SecurityException/true/true    NPE/NPE/NPE
removeAll(collection w/ null) true/true/true  (**)           NPE/NPE/NPE
containsAll(coll. w/ null)    false/false/NPE                NPE/NPE/NPE
retainAll(collection w/ null) true/true/true  (***)          NPE/NPE/NPE

*   - Assumes Subject has no null values in its private SecureSet 
collections
**  - Assumes input collection has at least one non-null element that 
exists in the target SecureSet
*** - Assumes input collection is not equivalent to or a superset of the 
target SecureSet (which would cause no change)

Bug: https://bugs.openjdk.java.net/browse/JDK-8015081
Webrev: http://cr.openjdk.java.net/~ascarpino/8015081/webrev.02

Thanks,
--Jamil



More information about the security-dev mailing list