RFR: 8312630: java/security should not create unmodifiable collections with redundant wrapping
John Jiang
jjiang at openjdk.org
Wed Jul 26 09:48:50 UTC 2023
On Wed, 26 Jul 2023 06:11:56 GMT, Xue-Lei Andrew Fan <xuelei at openjdk.org> wrote:
>> Some java/security classes apply the below coding style,
>>
>> Set<T> set = ...;
>> Set<T> unmodifiableSet = Collections.unmodifiableSet(new HashSet<>(set));
>>
>> It may be unnecessary to wrap that `set` with HashSet before creating `unmodifiableSet`.
>> Some usages on `Collections.unmodifiableList` and `Collections.unmodifiableMap` have the same issue.
>
> Note: Please don't backport this update unless [JDK-6323374](https://bugs.openjdk.org/browse/JDK-6323374) is backport as well.
@XueleiFan
Thanks for your review and more infos!
I just dug a bit history and found [JDK-8258514] applied `List::copyOf` instead of `Collections::unmodifiableList`.
Now, I also follow this way and use `List/Set/Map::copyOf`.
[JDK-8258514]:
<https://bugs.openjdk.org/browse/JDK-8258514>
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15008#issuecomment-1651391963
More information about the security-dev
mailing list