RFR: 8328995: launcher can't open jar files where the offset of the manifest is >4GB [v3]
Jiangli Zhou
jiangli at openjdk.org
Fri Mar 29 17:43:31 UTC 2024
On Wed, 27 Mar 2024 17:43:41 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:
>> This change fixes a zip64 bug in the launcher that is prevent it from reading the manifest of jars where the 'relative offset of local header' field in the central directory entry is >4GB. As described in APPNOTE.TXT 4.5.3, the offset is too large to be stored in the central directory it is stored in a 'Zip64 Extended Information Extra Field'.
>
> Liam Miller-Cushon has updated the pull request incrementally with one additional commit since the last revision:
>
> Make cendsk an unsigned short
src/java.base/share/native/libjli/parse_manifest.c line 503:
> 501: || cenoff == ZIP64_MAGICVAL)
> 502: && cenext > 0) {
> 503: Byte *base = p + CENHDR + CENNAM(p);
How about adding a comment describing the start of then extended fields calculation?
// The start of the extended fields = cen_header_start + cen_header_fixed_fix + file_name_length
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18479#discussion_r1544725300
More information about the core-libs-dev
mailing list