From 9557d386e206b9ff86c391c4cc1bc852e4a28af8 Mon Sep 17 00:00:00 2001 From: Tyrrrz Date: Fri, 23 Oct 2020 23:00:29 +0300 Subject: [PATCH] Better success check in stack trace parsing --- CliFx/Internal/StackFrame.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CliFx/Internal/StackFrame.cs b/CliFx/Internal/StackFrame.cs index 37a2f8f..3163db9 100644 --- a/CliFx/Internal/StackFrame.cs +++ b/CliFx/Internal/StackFrame.cs @@ -91,10 +91,12 @@ namespace CliFx.Internal { var matches = Pattern.Matches(stackTrace).Cast().ToArray(); - // Ensure success - var lastMatch = matches.LastOrDefault(); - if (lastMatch == null || - lastMatch.Index + lastMatch.Length < stackTrace.Length) + // Ensure success (all lines should be parsed) + var isSuccess = + matches.Length == + stackTrace.Split('\n', StringSplitOptions.RemoveEmptyEntries).Length; + + if (!isSuccess) { throw new FormatException("Could not parse stack trace."); }