From db3f21429eae1cc8f39fba0fd4cd65148e060f54 Mon Sep 17 00:00:00 2001 From: Shannon Deminick Date: Fri, 15 Mar 2013 11:31:11 +0600 Subject: [PATCH] Fixes infinite loop bug with string trimming. --- src/Umbraco.Core/StringExtensions.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Umbraco.Core/StringExtensions.cs b/src/Umbraco.Core/StringExtensions.cs index dd7f8fdb79..0fca270ef4 100644 --- a/src/Umbraco.Core/StringExtensions.cs +++ b/src/Umbraco.Core/StringExtensions.cs @@ -179,6 +179,8 @@ namespace Umbraco.Core public static string TrimEnd(this string value, string forRemoving) { if (string.IsNullOrEmpty(value)) return value; + if (string.IsNullOrEmpty(forRemoving)) return value; + while (value.EndsWith(forRemoving, StringComparison.InvariantCultureIgnoreCase)) { value = value.Remove(value.LastIndexOf(forRemoving, StringComparison.InvariantCultureIgnoreCase)); @@ -189,6 +191,8 @@ namespace Umbraco.Core public static string TrimStart(this string value, string forRemoving) { if (string.IsNullOrEmpty(value)) return value; + if (string.IsNullOrEmpty(forRemoving)) return value; + while (value.StartsWith(forRemoving, StringComparison.InvariantCultureIgnoreCase)) { value = value.Substring(forRemoving.Length);