RFR: 8328995: launcher can't open jar files where the offset of the manifest is >4GB
Liam Miller-Cushon
cushon at openjdk.org
Wed Mar 27 15:43:23 UTC 2024
On Wed, 27 Mar 2024 03:19:47 GMT, Jiangli Zhou <jiangli 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'.
>
> src/java.base/share/native/libjli/manifest_info.h line 146:
>
>> 144: * Macros for getting Extensible Data Fields
>> 145: */
>> 146: #define ZIPEXT_HDR(b) SH(b, 0) /* Header ID */
>
> How about naming the macros as ZIP64EXT_HDR and ZIP64EXT_SIZ?
My thinking was that all extensible data fields start with a header with an id and a length, and these macros are used to iterate through the extra fields to find the zip64 extended information extra field, so these macros aren't zip64-specific.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18479#discussion_r1541364405
More information about the core-libs-dev
mailing list