On Tue, 10 Oct 2023 12:46:22 GMT, Sean Coffey <coff...@openjdk.org> wrote:
>> Fix up java.util.zip.ZipFile$Source hashCode() impl so that duplicate Source >> objects aren't created for the same zip file. > > Sean Coffey has updated the pull request incrementally with one additional > commit since the last revision: > > incorporate review comments src/java.base/share/classes/java/util/zip/ZipFile.java line 1423: > 1421: try { > 1422: return System.getSecurityManager() != null ? > 1423: > AccessController.doPrivileged((PrivilegedExceptionAction<File>) > file::getCanonicalFile) : I think you'll have to cleanly separate the SM and no-SM case because of the exception handling, then you can use `PrivilegedExceptionAction<File> pae = file::getCanonicalFile`. src/java.base/share/classes/java/util/zip/ZipFile.java line 1426: > 1424: file.getCanonicalFile(); > 1425: } catch (PrivilegedActionException e) { > 1426: throw new IOException(e); The IOException to throw is PAE's cause, meaning you need to unwrap. src/java.base/share/classes/java/util/zip/ZipFile.java line 1451: > 1449: if > (!attrs.lastModifiedTime().equals(key.attrs.lastModifiedTime())) { > 1450: return false; > 1451: } The question in the previous comment is why is the last modified time used here, I think you have to dig into why it is used by equals. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16115#discussion_r1352471731 PR Review Comment: https://git.openjdk.org/jdk/pull/16115#discussion_r1352468697 PR Review Comment: https://git.openjdk.org/jdk/pull/16115#discussion_r1352475053