From 56f64173991204a1eea4bf6789d68555b94e3eae Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Wed, 9 Dec 2015 13:20:20 +0100 Subject: [PATCH 25/34] Fix crash reading lists from configuration Check the end of line to avoid taking a string reference from a null string resulting in a crash. --- src/common/ConfigReader.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp index cfc9940..acf880f 100644 --- a/src/common/ConfigReader.cpp +++ b/src/common/ConfigReader.cpp @@ -30,11 +30,14 @@ QTextStream &operator>>(QTextStream &str, QStringList &list) { list.clear(); - foreach(const QStringRef &s, str.readLine().splitRef(QLatin1Char(','))) - { - QStringRef trimmed = s.trimmed(); - if (!trimmed.isEmpty()) - list.append(trimmed.toString()); + QString line = str.readLine(); + while (!line.isNull()) { + Q_FOREACH (const QStringRef &s, line.splitRef(QLatin1Char(','))) { + QStringRef trimmed = s.trimmed(); + if (!trimmed.isEmpty()) + list.append(trimmed.toString()); + } + line = str.readLine(); } return str; } -- 2.5.0