From 077ce5cdefea6299fbc3edbf0bacff10b7b72a4d Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Mon, 16 Aug 2010 17:11:18 +1000 Subject: Bug #3045386 fixed: Markdown lexer can hang in an infinite loop Fix from Colomban Wendling. --- lexers/LexMarkdown.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lexers') diff --git a/lexers/LexMarkdown.cxx b/lexers/LexMarkdown.cxx index df081de31..e3ffa6670 100644 --- a/lexers/LexMarkdown.cxx +++ b/lexers/LexMarkdown.cxx @@ -103,9 +103,9 @@ static void SetStateAndZoom(const int state, const int length, const int token, static bool HasPrevLineContent(StyleContext &sc) { int i = 0; // Go back to the previous newline - while ((--i + sc.currentPos) && !IsNewline(sc.GetRelative(i))) + while ((--i + (int)sc.currentPos) >= 0 && !IsNewline(sc.GetRelative(i))) ; - while (--i + sc.currentPos) { + while ((--i + (int)sc.currentPos) >= 0) { if (IsNewline(sc.GetRelative(i))) break; if (!IsASpaceOrTab(sc.GetRelative(i))) -- cgit v1.2.3