RFR: 8292983: ModuleReferenceImpl.computeHash should record algorithm for cache checks [v3]
Alan Bateman
alanb at openjdk.org
Fri Aug 26 14:57:57 UTC 2022
On Fri, 26 Aug 2022 14:23:04 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> Look at implementation and figure out what happens if you do:
>>
>>
>> computeHash("SHA-1") = someHash;
>> computeHash("SHA-256") = ...?
>>
>>
>> The caching method should actually check the algorithms match.
>>
>> Not a bug at this point, since only use SHA-256 today, but this is a landmine ready to fire.
>>
>> Additional testing:
>> - [x] Linux x86_64 release, `java/lang/module` tests
>
> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>
> Review comments
src/java.base/share/classes/jdk/internal/module/ModuleReferenceImpl.java line 69:
> 67: // wrap the fields updated at the same time with a record, which carries
> 68: // the implicit final-field semantics for its members.
> 69: private record CachedHash(byte[] hash, String algorithm) {}
The comment still seems a bit excessive, maybe drop the last bit "which carries ..." as it is not needed here.
-------------
PR: https://git.openjdk.org/jdk/pull/10044
More information about the core-libs-dev
mailing list