RFR: 8328995: Launcher can't open jar files where the offset of the manifest is >4GB [v7]

Liam Miller-Cushon cushon at openjdk.org
Thu Jul 18 21:36:59 UTC 2024


On Thu, 18 Jul 2024 14:55:31 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:

>> Liam Miller-Cushon 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 eight additional commits since the last revision:
>> 
>>  - Merge remote-tracking branch 'origin/master' into JDK-8328995
>>  - Move test to test/jdk/tools/launcher
>>  - Add some more comments
>>  - Maximum Zip64 extra field length is 32
>>  - Make cendsk an unsigned short
>>  - Fix disk number size
>>  - Improvements
>>    
>>    * don't rely on variable length arrays
>>    * only run the test of 64 bit machines, since it requires >4GB of heap
>>  - 8328995: launcher can't open jar files where the offset of the manifest is >4GB
>
> src/java.base/share/native/libjli/parse_manifest.c line 520:
> 
>> 518:                     free(buffer);
>> 519:                     return (-1);
>> 520:                   }
> 
> I think we are missing a `break;` here, after this inner `if` block reads the zip64 extra fields and returns `JNI_TRUE`.

Thanks for the catch, fixed. It is unnecessary to loop over any other extensions that are present after the zip64 one is found.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/18479#discussion_r1683531984


More information about the core-libs-dev mailing list