From 087162b7142cf666478986461cdfa15c3d7fe382 Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Tue, 12 Apr 2016 16:56:08 +0200 Subject: fix infinite loop in text search, tdf#99208 Change-Id: If77055d6b292d5126165252d7198e8abf9d2c44d Reviewed-on: https://gerrit.libreoffice.org/24029 Reviewed-by: Eike Rathke Tested-by: Eike Rathke --- i18npool/source/characterclassification/cclass_unicode_parser.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'i18npool') 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; -- cgit