From 020271a92bd7fc971227ffa098f3ec1ce71075c3 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Fri, 6 Sep 2019 16:36:32 +0200 Subject: Make the regex possessive, to avoid potential exponential backtracking behaviour --- .../main/java/com/yahoo/container/plugin/osgi/ExportPackageParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bundle-plugin') diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackageParser.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackageParser.java index 2a255fd9236..f5e9a1b21a7 100644 --- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackageParser.java +++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/osgi/ExportPackageParser.java @@ -140,7 +140,7 @@ public class ExportPackageParser { a backslash followed by another backslash, a single or double quote, or one of the letters b,f,n,r or t a backslash followed by u followed by four hexadecimal digits ? */ private static Pattern STRING_LITERAL_PATTERN = Pattern - .compile("\"(?:[^\"\\p{Cntrl}\\\\]+|\\\\[\\\\'\"bfnrt]|\\\\u[0-9a-fA-F]{4})+\""); + .compile("\"(?:[^\"\\p{Cntrl}\\\\]++|\\\\[\\\\'\"bfnrt]|\\\\u[0-9a-fA-F]{4})++\""); private static Optional parseStringLiteral(ParsingContext p) { return p.regexp(STRING_LITERAL_PATTERN).map(quoted -> quoted.substring(1, quoted.length() - 1)); -- cgit v1.2.3