From 37a5ee017ab4bc745fdff6626603ceb5ebbdd129 Mon Sep 17 00:00:00 2001
From: Ionen Wolkens <ionen@gentoo.org>
Date: Thu, 12 Oct 2023 15:47:56 -0400
Subject: dev-qt/qtsvg: backport qt6.6 fix for crash with invalid SVGs

Bug: https://bugs.gentoo.org/915582
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
---
 .../files/qtsvg-6.6.0-invalid-svg-crash.patch      | 18 ++++++++++++++++++
 dev-qt/qtsvg/qtsvg-6.6.0-r1.ebuild                 | 22 ++++++++++++++++++++++
 dev-qt/qtsvg/qtsvg-6.6.0.ebuild                    | 18 ------------------
 3 files changed, 40 insertions(+), 18 deletions(-)
 create mode 100644 dev-qt/qtsvg/files/qtsvg-6.6.0-invalid-svg-crash.patch
 create mode 100644 dev-qt/qtsvg/qtsvg-6.6.0-r1.ebuild
 delete mode 100644 dev-qt/qtsvg/qtsvg-6.6.0.ebuild

(limited to 'dev-qt')

diff --git a/dev-qt/qtsvg/files/qtsvg-6.6.0-invalid-svg-crash.patch b/dev-qt/qtsvg/files/qtsvg-6.6.0-invalid-svg-crash.patch
new file mode 100644
index 000000000000..950cac7d679e
--- /dev/null
+++ b/dev-qt/qtsvg/files/qtsvg-6.6.0-invalid-svg-crash.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/915582
+https://bugreports.qt.io/browse/QTBUG-117944
+https://codereview.qt-project.org/c/qt/qtsvg/+/510692
+https://github.com/qt/qtsvg/commit/effc44495a33babd4cf7a2044123f420e6b3da1c
+From: Paul Olav Tvete <paul.tvete@qt.io>
+Date: Tue, 10 Oct 2023 10:14:22 +0200
+Subject: [PATCH] Fix nullptr dereference with invalid SVG
+--- a/src/svg/qsvghandler.cpp
++++ b/src/svg/qsvghandler.cpp
+@@ -3606,6 +3606,8 @@ void QSvgHandler::init()
+ 
+ static bool detectCycles(const QSvgNode *node, QList<const QSvgUse *> active = {})
+ {
++    if (Q_UNLIKELY(!node))
++        return false;
+     switch (node->type()) {
+     case QSvgNode::DOC:
+     case QSvgNode::G:
diff --git a/dev-qt/qtsvg/qtsvg-6.6.0-r1.ebuild b/dev-qt/qtsvg/qtsvg-6.6.0-r1.ebuild
new file mode 100644
index 000000000000..4ee65f5cee0e
--- /dev/null
+++ b/dev-qt/qtsvg/qtsvg-6.6.0-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qt6-build
+
+DESCRIPTION="SVG rendering library for the Qt6 framework"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64"
+fi
+
+RDEPEND="
+	~dev-qt/qtbase-${PV}:6[gui,widgets]
+	sys-libs/zlib:=
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-invalid-svg-crash.patch
+)
diff --git a/dev-qt/qtsvg/qtsvg-6.6.0.ebuild b/dev-qt/qtsvg/qtsvg-6.6.0.ebuild
deleted file mode 100644
index e1b14151f896..000000000000
--- a/dev-qt/qtsvg/qtsvg-6.6.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit qt6-build
-
-DESCRIPTION="SVG rendering library for the Qt6 framework"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
-	KEYWORDS="~amd64"
-fi
-
-RDEPEND="
-	~dev-qt/qtbase-${PV}:6[gui,widgets]
-	sys-libs/zlib:=
-"
-DEPEND="${RDEPEND}"
-- 
cgit v1.2.3-65-gdbad