On Sun, 6 Oct 2024 14:56:27 GMT, Eirik Bjørsnøs <eir...@openjdk.org> 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

Reply via email to