summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-10-01 18:55:15 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-10-06 10:08:53 +0200
commit3167c1374bb918033b5b4a5b54e0d0608698eeb0 (patch)
treeb962f756617b32e93b37e371166b97bc5a05b7a7 /src
parent56440366c661babc6316d9491a82ae1dfe6308f9 (diff)
downloadqtsvg-3167c1374bb918033b5b4a5b54e0d0608698eeb0.tar.gz
fix crash on malformed SVG5.3
In a gradient that references itself via xlink:href we encountered an infinite recursion, and eventually a stack overflow. Now we print a warning and ignore the invalid link. Task-number: QTBUG-35387 Change-Id: Id72800eaa267d015a471df284245861ed8bc94cd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/svg/qsvgstyle.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/svg/qsvgstyle.cpp b/src/svg/qsvgstyle.cpp
index 4385291..662692b 100644
--- a/src/svg/qsvgstyle.cpp
+++ b/src/svg/qsvgstyle.cpp
@@ -937,7 +937,7 @@ void QSvgGradientStyle::resolveStops()
{
if (!m_link.isEmpty() && m_doc) {
QSvgStyleProperty *prop = m_doc->styleProperty(m_link);
- if (prop) {
+ if (prop && prop != this) {
if (prop->type() == QSvgStyleProperty::GRADIENT) {
QSvgGradientStyle *st =
static_cast<QSvgGradientStyle*>(prop);