flexmark-java icon indicating copy to clipboard operation
flexmark-java copied to clipboard

Parsing or rendering thousands of underscores causes stack overflow

Open niklasf opened this issue 3 years ago • 0 comments

Failing test case (submitted as #495):

@Test
public void manyUnderscores() {
    assertRendering(Strings.repeat("_", 5000), "<hr />");
}

Expected test to pass or at least not crash with StackoverflowError:

java.lang.StackOverflowError
	at java.base/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)
	at java.base/java.util.regex.Pattern$Loop.match(Pattern.java:4941)
	at java.base/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)
	at java.base/java.util.regex.Pattern$BmpCharPropertyGreedy.match(Pattern.java:4344)
	at java.base/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)
	at java.base/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)
	at java.base/java.util.regex.Pattern$Loop.match(Pattern.java:4941)
	at java.base/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)
	at java.base/java.util.regex.Pattern$BmpCharPropertyGreedy.match(Pattern.java:4344)
	at java.base/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)
	at java.base/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)
	at java.base/java.util.regex.Pattern$Loop.match(Pattern.java:4941)
[...]

niklasf avatar Feb 17 '22 12:02 niklasf