[9] RFR of 8075156: (prefs) remove() should disallow the use of the null control character '\u0000' as key

Roger Riggs Roger.Riggs at Oracle.com
Wed Apr 15 16:50:07 UTC 2015

Hi Brian,

Looks fine as is.

But I'm curious why CODE_POINT_U000 is defined as  String instead of char?
The indexOf() operation is more efficient for single characters.

Thanks, Roger

On 4/14/2015 5:56 PM, Brian Burkhalter wrote:
> Please review at your convenience this latest patch modified from the previous one pursuant to the most recent comments.
> Issue:	https://bugs.openjdk.java.net/browse/JDK-8075156
> Patch:	http://cr.openjdk.java.net/~bpb/8075156/webrev.01/
> Summary:
> * Revise Preferences javadoc to indicate IAE for put*(), get*(), and remove() for NUL control character U+0000 in the key and / or value, as appropriate.
> * Extend fix of put*() in JDK-8068373 to all platforms by moving functional code up to to AbstractPreferences.
> * Add fix for get*() and remove() in AbstractPreferences.
> * Revert FileSystemPreferences changes from JDK-8068373 as these are now handled by AbstractPreferences (note this includes rolling back the more recent year in the copyright as well).
> * Minor picayune cleanup in WindowsPreferences.
> * Correct class javadoc of AbstractPreferences which had referred to flush() and sync() as returning boolean type.
> * Extend existing test to get() and remove() cases.
> Test passed on all the usual platforms.
> The CCC request will need to be revised or a new one filed, pending approval of this patch.
> Thanks,
> Brian
> On Apr 14, 2015, at 8:37 AM, Brian Burkhalter <brian.burkhalter at oracle.com> wrote:
>> So barring objections to the contrary from some other quarter, I will clean up the current patch and also address the errors in the class level javadoc that I pointed out in AbstractPreferences.

More information about the core-libs-dev mailing list