From e544d8e457d52b543cae5c988f81237c7d6608da Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Mon, 25 Oct 2021 14:43:09 +0200 Subject: SVG Image reading: Reject oversize svgs as corrupt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add an upper limit for height and width at 0xffff, same as jpeg. Fixes: QTBUG-95891 Pick-to: 6.2 5.15 5.12 Change-Id: I0dbc80dab3aab9b4743548772fb63fa69ea21f8a Reviewed-by: Robert Löhning Reviewed-by: Allan Sandfeld Jensen --- src/plugins/imageformats/svg/qsvgiohandler.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/imageformats/svg/qsvgiohandler.cpp b/src/plugins/imageformats/svg/qsvgiohandler.cpp index 3e338b3..309e892 100644 --- a/src/plugins/imageformats/svg/qsvgiohandler.cpp +++ b/src/plugins/imageformats/svg/qsvgiohandler.cpp @@ -184,6 +184,8 @@ bool QSvgIOHandler::read(QImage *image) if (finalSize.isEmpty()) { *image = QImage(); } else { + if (qMax(finalSize.width(), finalSize.height()) > 0xffff) + return false; // Assume corrupted file if (!QImageIOHandler::allocateImage(finalSize, QImage::Format_ARGB32_Premultiplied, image)) return false; image->fill(d->backColor.rgba()); -- cgit v1.2.1