From ba9bdc79f4534c99eb281cd98a71f99d7bdb6849 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Konvi=C4=8Dka?= <konvicka.g630@gmail.com> Date: Fri, 12 Jan 2024 10:38:59 +0100 Subject: [PATCH] security: Disable backtracking at regex --- LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs b/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs index 5304757..ba6ae40 100644 --- a/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs +++ b/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs @@ -144,8 +144,8 @@ public class CppClassDiagramVisitor : CPP14ParserBaseVisitor<object> string compositionPattern = @"^(?:std::)?(?:vector<)?(\w+)>?$"; // Check if the property type matches aggregation or composition - Match aggregationMatch = Regex.Match(atribute.Type, aggregationPattern); - Match compositionMatch = Regex.Match(atribute.Type, compositionPattern); + Match aggregationMatch = Regex.Match(atribute.Type, aggregationPattern, RegexOptions.NonBacktracking); + Match compositionMatch = Regex.Match(atribute.Type, compositionPattern, RegexOptions.NonBacktracking); int groupMatch = 1; if (aggregationMatch.Success && !string.IsNullOrEmpty(aggregationMatch.Groups[groupMatch].Value)) { -- GitLab