On Sun, 6 Oct 2024 14:56:27 GMT, Eirik Bjørsnøs <[email protected]> wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> copyright
>
> src/java.base/share/classes/java/util/zip/ZipFile.java line 1644:
>
>> 1642: // Now scan the block backwards for END header
>> signature
>> 1643: for (int i = buf.length - ENDHDR; i >= 0; i--) {
>> 1644: if (get32(buf, i) == ENDSIG) {
>
> Maybe a matter of personal preference, but I think `GETSIG(buf, i) == ENDSIG`
> reads better than `get32(buf, i) == ENDSIG`.
>
> The fact that it's 32 bits is kind of a detail and it doesn't reveal as well
> that we intend to read a signature.
>
> So could we keep GETSIG, but add an index? There are places in
> `ZipInputStream` as well which could make use of that for signature checking.
> (But maybe not for this PR)
>
> Alternatively, `ENDSIG(buf, i) == ENDSIG` would be consistent with
> `CENSIG(buf, i)` uses.
>
> Same applies to the other GETSIG replacements in this file.
I think all the `GETSIG(byte[])` methods are quite nasty, and it's all used
very inconsistently. I wouldn't mind going the other way and removing _all_ the
`CENSIG`, `LOCNAM` etc methods and just call `get16/32/32S/64(buf, <field
name>)` as appropriate.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21377#discussion_r1789151311