From 1749388cdc765fca4206aaf0f84ac9b0877dfc9a Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Wed, 5 Jan 2022 09:48:22 +0100 Subject: Unconditionally stop parsing after the svg end tag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A QSvghandler may be created either with an external QXmlStreamReader object, or with a bytearray/iodevice, in which case it will create its own stream reader. The check to end parisng at the tag was active only in the first case. This could result in different behavior when reading an svg image from file vs. reading it from a bytearray or resource. Fixes: QTBUG-99407 Pick-to: 6.3 6.2 5.15 Change-Id: I187b39256f2b16ea952a3ae1b77c067ff96e4155 Reviewed-by: Allan Sandfeld Jensen Reviewed-by: Robert Löhning --- src/svg/qsvghandler.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src') diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp index f520c3f..16b5319 100644 --- a/src/svg/qsvghandler.cpp +++ b/src/svg/qsvghandler.cpp @@ -3684,9 +3684,7 @@ void QSvgHandler::parse() case QXmlStreamReader::EndElement: endElement(xml->name()); ++remainingUnfinishedElements; - // if we are using somebody else's qxmlstreamreader - // we should not read until the end of the stream - done = !m_ownsReader && (xml->name() == QLatin1String("svg")); + done = (xml->name() == QLatin1String("svg")); break; case QXmlStreamReader::Characters: characters(xml->text()); -- cgit v1.2.1