aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/beautifier/configurationeditor.cpp
diff options
context:
space:
mode:
authorLorenz Haas <lykurg@gmail.com>2014-02-19 06:48:37 +0100
committerDavid Schulz <david.schulz@digia.com>2014-02-21 06:54:51 +0100
commita142270d2c6332207fc657ef27e6a20eaec67d52 (patch)
treedaadff16023b573ea859ac77552b69b071551bfa /src/plugins/beautifier/configurationeditor.cpp
parent88309188c13a22c1dc96dbd009b032925905e25d (diff)
Beautifier: Fix possible endless loop
Change-Id: Ib2f98c2d761ea9abfd6a42ec30cf8318ee7bd575 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: David Schulz <david.schulz@digia.com>
Diffstat (limited to 'src/plugins/beautifier/configurationeditor.cpp')
-rw-r--r--src/plugins/beautifier/configurationeditor.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/beautifier/configurationeditor.cpp b/src/plugins/beautifier/configurationeditor.cpp
index eb3890fdf14..8a75397b5a7 100644
--- a/src/plugins/beautifier/configurationeditor.cpp
+++ b/src/plugins/beautifier/configurationeditor.cpp
@@ -59,9 +59,12 @@ void ConfigurationSyntaxHighlighter::setKeywords(const QStringList &keywords)
if (keywords.isEmpty())
return;
+ // Check for empty keywords since they can cause an endless loop in highlightBlock().
QStringList pattern;
- for (int i = 0, total = keywords.count(); i < total; ++i)
- pattern << QRegExp::escape(keywords.at(i));
+ foreach (const QString &word, keywords) {
+ if (!word.isEmpty())
+ pattern << QRegExp::escape(word);
+ }
m_expressionKeyword.setPattern(QLatin1String("(?:\\s|^)(") + pattern.join(QLatin1String("|"))
+ QLatin1String(")(?=\\s|\\:|\\=|\\,|$)"));