From 39423285f19cd5ea17985fe0c75fe9801538f4da Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Thu, 6 Mar 2003 11:04:20 +0000 Subject: Avoiding infinite loop in regex search backwards for ^ --- src/Document.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Document.cxx b/src/Document.cxx index a1d5beff6..a7dcccb0c 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -919,7 +919,8 @@ long Document::FindText(int minPos, int maxPos, const char *s, lenRet = pre->eopat[0] - pre->bopat[0]; if (increment == -1) { // Check for the last match on this line. - while (success && (pre->eopat[0] < endOfLine)) { + int repetitions = 1000; // Break out of infinite loop + while (success && (pre->eopat[0] < endOfLine) && (repetitions--)) { success = pre->Execute(di, pre->eopat[0], endOfLine); if (success) { if (pre->eopat[0] <= minPos) { -- cgit v1.2.3