On Wed, 5 Jul 2023 18:04:01 GMT, Roger Riggs <rri...@openjdk.org> wrote:
>> Pavel Rappo has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains six additional >> commits since the last revision: >> >> - Merge branch 'master' into 8311170 >> - Be consistent with the rest of the change >> - Fix reported bugs >> - Add even more cases and tidy up >> - More cases >> - Initial commit > > src/java.base/share/classes/javax/security/cert/Certificate.java line 107: > >> 105: try { >> 106: return Arrays.hashCode(this.getEncoded()); >> 107: } catch (CertificateException e) { > > Ditto, what value at `certData[0]` is now included in the hash? Those are correct observations. Unspecified hashCode methods changed in this proposal might return different values than the ones they currently return in the mainline; hence my disclaimer in this PR description: > This PR sacrifices compatibility for pragmatism: it changes some hashCode > implementations to produce different values than before to allow more > utilization of methods from Objects and Arrays. To my mind, those changes are > **benign**. If you disagree, I'd be happy to discuss that and/or retract the > concerning part of the change. I'm waiting from someone from security-dev to tell me if that's okay to skip zeroth elements in both hashCode. It might've been an accidental skip in the first place. FWIW, their `equals` counterparts do not skip zeroth elements. On the other hand, javax.security.cert.Certificate is deprecated for removal, so I might as well exclude it. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/14738#discussion_r1253622642