From 18a2adad907523ea31251ff0b62e3321241a40fa Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Tue, 14 Nov 2017 14:47:08 +0100 Subject: Fix crash on recursive self-referral in element Referring to an ancestor in a element would lead to endless recursion. Add checks to avoid recursion, and also emit a warning while parsing. Task-number: QTBUG-64425 Change-Id: I9ee1b9bfef13796cc3f387ff8579c6b13bc4ae9a Reviewed-by: Andy Shaw --- tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp index 6ac865a..fd1b350 100644 --- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp +++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp @@ -1308,6 +1308,17 @@ void tst_QSvgRenderer::testUseElement() " " " " " " + "", + // Self referral, should be ignored + "", + "" + " " + "", + "" + " " + "", + "" + " " "" }; @@ -1334,8 +1345,10 @@ void tst_QSvgRenderer::testUseElement() // For this reason an exact comparison will fail. QCOMPARE(images[4], images[i]); } - } else if (i > 7) { + } else if (i > 7 && i < 10) { QCOMPARE(images[8], images[i]); + } else if (i > 11) { + QCOMPARE(images[11], images[i]); } } } -- cgit v1.2.1