On Fri, 9 Jan 2026 00:42:31 GMT, Alexey Semenyuk <[email protected]> wrote:
>> Replace reluctant quantifier `*?` with the possessive alternative (`*+`) and >> get rid of back-references from the regexp tokenizing a value of the >> "--arguments" option into a string array to fix the catastrophic >> backtracking resulting in a stack overflow. >> >> Old regexp: `(?:(?:(["'])(?:\\\1|.)*?(?:\1|$))|(?:\["'\s]|[^\s]))++` >> >> New regexp >> `(?:(?:(?:'(?:\'|[^'])*+(?:'|$))|(?:"(?:\"|[^"])*+(?:"|$)))|(?:\["'\s]|\S))++` >> >> Add test cases that pass both the old and the new variants of the regexp, >> except for the last test case that causes a stack overflow with the old >> regexp. >> >> The initial intention was to replace the regexp with the tokenizer function. >> It was abandoned in favor of reworking the regexp to minimize the risk of >> regressions. > > Alexey Semenyuk has updated the pull request incrementally with one > additional commit since the last revision: > > Remove debug output Looks good. ------------- Marked as reviewed by almatvee (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/29104#pullrequestreview-3641932708
