Infinite loop when converting Markdown Text to HTML
Description
A carefully crafted Markdown Text can trigger an infinite loop while loading the text.
Error Log
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3963)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4953)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$CharProperty.match(Pattern.java:3940)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.match(Pattern.java:4941)",
"\tat [email protected]/java.util.regex.Pattern$GroupTail.match(Pattern.java:4863)",
"\tat [email protected]/java.util.regex.Pattern$BranchConn.match(Pattern.java:4713)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Branch.match(Pattern.java:4749)",
"\tat [email protected]/java.util.regex.Pattern$GroupHead.match(Pattern.java:4804)",
"\tat [email protected]/java.util.regex.Pattern$Loop.matchInit(Pattern.java:4966)",
"\tat [email protected]/java.util.regex.Pattern$Prolog.match(Pattern.java:4887)",
"\tat [email protected]/java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3964)",
"\tat [email protected]/java.util.regex.Pattern$Begin.match(Pattern.java:3683)",
"\tat [email protected]/java.util.regex.Matcher.search(Matcher.java:1729)",
"\tat [email protected]/java.util.regex.Matcher.find(Matcher.java:746)",
PoC
// PoC.java
import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.util.ast.Node;
import com.vladsch.flexmark.util.data.MutableDataSet;
/**
* Test01
*
* @since 1.0.0
*/
public class Test01 {
public static void test(String data) {
MutableDataSet options = new MutableDataSet();
// uncomment to set optional extensions
//options.set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), StrikethroughExtension.create()));
// uncomment to convert soft-breaks to hard breaks
//options.set(HtmlRenderer.SOFT_BREAK, "<br />\n");
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
// You can re-use parser and renderer instances
Node document = parser.parse(data);
String html = renderer.render(document); // "<p>This is <em>Sparta</em></p>\n"
// System.out.println(html);
}
public static void main(String[] args) {
String data = "{\"\\\\\\\\\\\\\\\\\\\\\\ [a][\\\\\\\\\\\\\\\\\\\\\":\"\\\\�\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\"\\\\�\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}";
test(data);
}
}
References
https://github.com/vsch/flexmark-java/blob/b38192bca2382167796f401bd8aa7827ea3331db/flexmark/src/main/java/com/vladsch/flexmark/parser/LightInlineParserImpl.java#L163
@PoppingSnack, thank you for reporting this. I will have to look at the regex to figure out why it loops and how to avoid it. It is a serious bug. I wrote the library to avoid infinite or near infinite parsing loops in pegdown. 🙃
@PoppingSnack, thank you for reporting this. I will have to look at the regex to figure out why it loops and how to avoid it. It is a serious bug. I wrote the library to avoid infinite or near infinite parsing loops in pegdown. 🙃
does it fix,i get the bug now