Blame SOURCES/qtsvg-fix-crash-when-parsing-malformed-url-reference.patch

9c5ecf
diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp
9c5ecf
index 77af8161..7378e962 100644
9c5ecf
--- a/src/svg/qsvghandler.cpp
9c5ecf
+++ b/src/svg/qsvghandler.cpp
9c5ecf
@@ -746,16 +746,17 @@ static QVector<qreal> parsePercentageList(const QChar *&str)
9c5ecf
 static QString idFromUrl(const QString &url)
9c5ecf
 {
9c5ecf
     QString::const_iterator itr = url.constBegin();
9c5ecf
-    while ((*itr).isSpace())
9c5ecf
+    QString::const_iterator end = url.constEnd();
9c5ecf
+    while (itr != end && (*itr).isSpace())
9c5ecf
         ++itr;
9c5ecf
-    if ((*itr) == QLatin1Char('('))
9c5ecf
+    if (itr != end && (*itr) == QLatin1Char('('))
9c5ecf
         ++itr;
9c5ecf
-    while ((*itr).isSpace())
9c5ecf
+    while (itr != end && (*itr).isSpace())
9c5ecf
         ++itr;
9c5ecf
-    if ((*itr) == QLatin1Char('#'))
9c5ecf
+    if (itr != end && (*itr) == QLatin1Char('#'))
9c5ecf
         ++itr;
9c5ecf
     QString id;
9c5ecf
-    while ((*itr) != QLatin1Char(')')) {
9c5ecf
+    while (itr != end && (*itr) != QLatin1Char(')')) {
9c5ecf
         id += *itr;
9c5ecf
         ++itr;
9c5ecf
     }