summaryrefslogtreecommitdiff
path: root/i18npool
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:25:41 +0000
commit087162b7142cf666478986461cdfa15c3d7fe382 (patch)
treedbb39e1d0a7953f00cc9447a547a3374b1dcc95b /i18npool
parent34806c91fb790dc8ab196b492dea82d87344b412 (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>
Diffstat (limited to 'i18npool')
-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;