From 88f4153fd97b8c9f5f74c1455895d113d84d02ab Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Thu, 10 Sep 2015 11:24:13 -0700 Subject: [PATCH] Added timeout to regex --- src/Microsoft.AspNet.Razor.Runtime/Constants.cs | 12 ++++++++++++ .../TagHelpers/RuntimeTypeInfo.cs | 2 +- .../TagHelpers/TagHelperDescriptorFactory.cs | 5 ++++- .../TagHelpers/TagHelperDescriptorResolver.cs | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 src/Microsoft.AspNet.Razor.Runtime/Constants.cs diff --git a/src/Microsoft.AspNet.Razor.Runtime/Constants.cs b/src/Microsoft.AspNet.Razor.Runtime/Constants.cs new file mode 100644 index 0000000000..5ed71904c0 --- /dev/null +++ b/src/Microsoft.AspNet.Razor.Runtime/Constants.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; + +namespace Microsoft.AspNet.Razor.Runtime +{ + internal static class Constants + { + public static readonly TimeSpan RegexMatchTimeout = TimeSpan.FromSeconds(10); + } +} diff --git a/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/RuntimeTypeInfo.cs b/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/RuntimeTypeInfo.cs index 2dea152e83..c8148f1f19 100644 --- a/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/RuntimeTypeInfo.cs +++ b/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/RuntimeTypeInfo.cs @@ -18,7 +18,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers private static readonly Regex _fullNameSanitizer = new Regex( @", [A-Za-z\.]+, Version=\d+\.\d+\.\d+\.\d+, Culture=neutral, PublicKeyToken=\w+", RegexOptions.ExplicitCapture, - matchTimeout: TimeSpan.FromSeconds(10)); + Constants.RegexMatchTimeout); private static readonly TypeInfo TagHelperTypeInfo = typeof(ITagHelper).GetTypeInfo(); private IEnumerable _properties; diff --git a/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/TagHelperDescriptorFactory.cs b/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/TagHelperDescriptorFactory.cs index 55c0543c37..a8db563c02 100644 --- a/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/TagHelperDescriptorFactory.cs +++ b/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/TagHelperDescriptorFactory.cs @@ -26,7 +26,10 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers // Any lowercase letter followed by an uppercase letter: a(A) // Each match is then prefixed by a "-" via the ToHtmlCase method. private static readonly Regex HtmlCaseRegex = - new Regex("(?