On Thu, 24 Apr 2025 14:28:21 GMT, Nizar Benalla <nbena...@openjdk.org> wrote:

>> Please review this patch to fix a potential infinite loop in 
>> `JavadocTokenizer.ensure` when `map.length` and `size + need` approach 
>> Interger.MAX_VALUE.
>> 
>> While I couldn't reproduce the issue even with large inputs (~1.9GB java 
>> file where almost the entire file is one javadoc comment), the fix is about 
>> correctness and prevention of UB in extreme cases.
>> 
>> TIA
>
> Nizar Benalla 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 three additional 
> commits since the last revision:
> 
>  - respond to feedback -- keep int[] instead of Arraylist and add check for 
> grow <= 0
>  - Merge branch 'master' into jd-ensure
>  - fix JdT.ensure

src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java 
line 313:

> 311: 
> 312:             if (grow <= 0) {
> 313:                 throw new IndexOutOfBoundsException();

This check needs to be inside the `while` loop (see bug description).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24620#discussion_r2058668490

Reply via email to