summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-04-12 16:56:08 +0200
committerEike Rathke <erack@redhat.com>2016-04-12 16:29:47 +0000
commitc0cbe81caa913fd7bff3a26422b38513020855e7 (patch)
treec4ffe2588b399a0a962bf2bf4480aa51383ace69
parent1345cea38ecb51655375e77f5aa77aa9461d240b (diff)
fix infinite loop in text search, tdf#99208
Change-Id: If77055d6b292d5126165252d7198e8abf9d2c44d Reviewed-on: https://gerrit.libreoffice.org/24029 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 087162b7142cf666478986461cdfa15c3d7fe382) Reviewed-on: https://gerrit.libreoffice.org/24033
-rw-r--r--i18npool/source/characterclassification/cclass_unicode_parser.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/i18npool/source/characterclassification/cclass_unicode_parser.cxx b/i18npool/source/characterclassification/cclass_unicode_parser.cxx
index c00395990b63..2a6f9548eeda 100644
--- a/i18npool/source/characterclassification/cclass_unicode_parser.cxx
+++ b/i18npool/source/characterclassification/cclass_unicode_parser.cxx
@@ -726,7 +726,7 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
bool bMightBeWord = true;
bool bMightBeWordLast = true;
//! All the variables above (plus ParseResult) have to be resetted on ssRewindFromValue!
- sal_Int32 nextCharIndex(0); // == index of nextChar
+ sal_Int32 nextCharIndex(nPos); // == index of nextChar
while ((current != 0) && (eState != ssStop))
{
@@ -965,7 +965,7 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
r = ParseResult();
index = nPos;
postSymbolIndex = nPos;
- nextCharIndex = 0;
+ nextCharIndex = nPos;
aSymbol.clear();
current = (index < rText.getLength()) ? rText.iterateCodePoints(&index) : 0;
nCodePoints = (nPos < rText.getLength()) ? 1 : 0;