> 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/29104/files
  - new: https://git.openjdk.org/jdk/pull/29104/files/8210135a..d8ebb1dd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=29104&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29104&range=00-01

  Stats: 8 lines in 1 file changed: 0 ins; 8 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/29104.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29104/head:pull/29104

PR: https://git.openjdk.org/jdk/pull/29104

Reply via email to