fix CVE-2023-32573
(cherry picked from commit 3952bd2f0668b81c3c317cf2cf4d5e930b639b5d)
This commit is contained in:
parent
2f8f9252a3
commit
f457d3d6c1
34
CVE-2023-32573.patch
Normal file
34
CVE-2023-32573.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
diff -up qt-everywhere-opensource-src-4.8.7/src/svg/qsvgfont_p.h.me qt-everywhere-opensource-src-4.8.7/src/svg/qsvgfont_p.h
|
||||||
|
--- qt-everywhere-opensource-src-4.8.7/src/svg/qsvgfont_p.h.me 2023-05-18 14:45:36.239081107 +0200
|
||||||
|
+++ qt-everywhere-opensource-src-4.8.7/src/svg/qsvgfont_p.h 2023-05-18 14:47:11.440869275 +0200
|
||||||
|
@@ -78,6 +78,7 @@ public:
|
||||||
|
class QSvgFont : public QSvgRefCounted
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
+ static const qreal DEFAULT_UNITS_PER_EM = 1000;
|
||||||
|
QSvgFont(qreal horizAdvX);
|
||||||
|
|
||||||
|
void setFamilyName(const QString &name);
|
||||||
|
@@ -90,9 +91,7 @@ public:
|
||||||
|
void draw(QPainter *p, const QPointF &point, const QString &str, qreal pixelSize, Qt::Alignment alignment) const;
|
||||||
|
public:
|
||||||
|
QString m_familyName;
|
||||||
|
- qreal m_unitsPerEm;
|
||||||
|
- qreal m_ascent;
|
||||||
|
- qreal m_descent;
|
||||||
|
+ qreal m_unitsPerEm = DEFAULT_UNITS_PER_EM;
|
||||||
|
qreal m_horizAdvX;
|
||||||
|
QHash<QChar, QSvgGlyph> m_glyphs;
|
||||||
|
};
|
||||||
|
diff -up qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp.me qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp
|
||||||
|
--- qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp.me 2023-05-18 14:45:24.569107055 +0200
|
||||||
|
+++ qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp 2023-05-18 14:45:10.885137479 +0200
|
||||||
|
@@ -2571,7 +2571,7 @@ static bool parseFontFaceNode(QSvgStyleP
|
||||||
|
|
||||||
|
qreal unitsPerEm = toDouble(unitsPerEmStr);
|
||||||
|
if (!unitsPerEm)
|
||||||
|
- unitsPerEm = 1000;
|
||||||
|
+ unitsPerEm = QSvgFont::DEFAULT_UNITS_PER_EM;
|
||||||
|
|
||||||
|
if (!name.isEmpty())
|
||||||
|
font->setFamilyName(name);
|
||||||
127
fix-build-error-for-loongarch64.patch
Normal file
127
fix-build-error-for-loongarch64.patch
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
From a4ee1523dbcbd2e26e5c92298a612d60b204fd75 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Wenlong Zhang <zhangwenlong@loongson.cn>
|
||||||
|
Date: Wed, 17 May 2023 07:59:00 +0000
|
||||||
|
Subject: [PATCH] fix build error for loongarch64 test000
|
||||||
|
|
||||||
|
---
|
||||||
|
configure | 6 ++++++
|
||||||
|
mkspecs/linux-g++-64/qmake.conf | 4 ++--
|
||||||
|
mkspecs/solaris-g++-64/qmake.conf | 2 +-
|
||||||
|
src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h | 7 ++++++-
|
||||||
|
src/corelib/arch/loongarch64/arch.pri | 6 ++++++
|
||||||
|
src/corelib/arch/qatomic_arch.h | 2 ++
|
||||||
|
src/dbus/qdbusintegrator.cpp | 2 +-
|
||||||
|
7 files changed, 24 insertions(+), 5 deletions(-)
|
||||||
|
create mode 100644 src/corelib/arch/loongarch64/arch.pri
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index 226a602f..d3f10f08 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -3273,6 +3273,12 @@ if [ -z "${CFG_HOST_ARCH}" ]; then
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
+ *:*:loongarch64**)
|
||||||
|
+ if [ "$OPT_VERBOSE" = "yes" ]; then
|
||||||
|
+ echo " LoongArch64 (loongarch64)"
|
||||||
|
+ fi
|
||||||
|
+ CFG_HOST_ARCH=loongarch64
|
||||||
|
+ ;;
|
||||||
|
*:*:*)
|
||||||
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
||||||
|
echo " Trying '$UNAME_MACHINE'..."
|
||||||
|
diff --git a/mkspecs/linux-g++-64/qmake.conf b/mkspecs/linux-g++-64/qmake.conf
|
||||||
|
index 222f6b7e..dd129afd 100644
|
||||||
|
--- a/mkspecs/linux-g++-64/qmake.conf
|
||||||
|
+++ b/mkspecs/linux-g++-64/qmake.conf
|
||||||
|
@@ -12,8 +12,8 @@ CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
|
||||||
|
QT += core gui
|
||||||
|
QMAKE_INCREMENTAL_STYLE = sublib
|
||||||
|
|
||||||
|
-QMAKE_CFLAGS = -m64
|
||||||
|
-QMAKE_LFLAGS = -m64
|
||||||
|
+QMAKE_CFLAGS =
|
||||||
|
+QMAKE_LFLAGS =
|
||||||
|
|
||||||
|
include(../common/linux.conf)
|
||||||
|
include(../common/gcc-base-unix.conf)
|
||||||
|
diff --git a/mkspecs/solaris-g++-64/qmake.conf b/mkspecs/solaris-g++-64/qmake.conf
|
||||||
|
index 7bc7b9fd..2ecbaac8 100644
|
||||||
|
--- a/mkspecs/solaris-g++-64/qmake.conf
|
||||||
|
+++ b/mkspecs/solaris-g++-64/qmake.conf
|
||||||
|
@@ -36,7 +36,7 @@ QMAKE_LEX = flex
|
||||||
|
QMAKE_LEXFLAGS =
|
||||||
|
QMAKE_YACC = yacc
|
||||||
|
QMAKE_YACCFLAGS = -d
|
||||||
|
-QMAKE_CFLAGS = -m64 -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
|
||||||
|
+QMAKE_CFLAGS = -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
|
||||||
|
QMAKE_CFLAGS_DEPS = -M
|
||||||
|
QMAKE_CFLAGS_WARN_ON = -Wall -W
|
||||||
|
QMAKE_CFLAGS_WARN_OFF = -w
|
||||||
|
diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
|
||||||
|
index 635df39e..a9def901 100644
|
||||||
|
--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
|
||||||
|
+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
|
||||||
|
@@ -236,6 +236,11 @@
|
||||||
|
#define WTF_CPU_X86_64 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/* CPU(LOONGARCH64) - LOONGARCH64 */
|
||||||
|
+#if defined(__loongarch64)
|
||||||
|
+#define WTF_CPU_LOONGARCH64 1
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* CPU(ARM) - ARM, any version*/
|
||||||
|
#if defined(arm) \
|
||||||
|
|| defined(__arm__) \
|
||||||
|
@@ -1012,7 +1017,7 @@
|
||||||
|
|| CPU(SPARC64) \
|
||||||
|
|| CPU(S390X) \
|
||||||
|
|| CPU(PPC64) \
|
||||||
|
- || CPU(MIPS64) || CPU(AARCH64)
|
||||||
|
+ || CPU(MIPS64) || CPU(AARCH64) || CPU(LOONGARCH64)
|
||||||
|
#define WTF_USE_JSVALUE64 1
|
||||||
|
#else
|
||||||
|
#define WTF_USE_JSVALUE32_64 1
|
||||||
|
diff --git a/src/corelib/arch/loongarch64/arch.pri b/src/corelib/arch/loongarch64/arch.pri
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..7fe8c602
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/corelib/arch/loongarch64/arch.pri
|
||||||
|
@@ -0,0 +1,6 @@
|
||||||
|
+#
|
||||||
|
+# LoongArch 64 architecture
|
||||||
|
+#
|
||||||
|
+
|
||||||
|
+unix:SOURCES += ../generic/qatomic_generic_unix.cpp
|
||||||
|
+win32:SOURCES += ../generic/qatomic_generic_windows.cpp
|
||||||
|
diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h
|
||||||
|
index c91c20b3..d8b5a308 100644
|
||||||
|
--- a/src/corelib/arch/qatomic_arch.h
|
||||||
|
+++ b/src/corelib/arch/qatomic_arch.h
|
||||||
|
@@ -96,6 +96,8 @@ QT_BEGIN_HEADER
|
||||||
|
# include "QtCore/qatomic_generic.h"
|
||||||
|
#elif defined(QT_ARCH_AARCH64)
|
||||||
|
# include "QtCore/qatomic_aarch64.h"
|
||||||
|
+#elif defined(QT_ARCH_LOONGARCH64)
|
||||||
|
+# include "QtCore/qatomic_generic.h"
|
||||||
|
#else
|
||||||
|
# error "Qt has not been ported to this architecture"
|
||||||
|
#endif
|
||||||
|
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
|
||||||
|
index eaf3e291..10b246ca 100644
|
||||||
|
--- a/src/dbus/qdbusintegrator.cpp
|
||||||
|
+++ b/src/dbus/qdbusintegrator.cpp
|
||||||
|
@@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE
|
||||||
|
static bool isDebugging;
|
||||||
|
#define qDBusDebug if (!::isDebugging); else qDebug
|
||||||
|
|
||||||
|
-Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
|
||||||
|
+Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
|
||||||
|
|
||||||
|
static inline QString dbusServiceString()
|
||||||
|
{ return *orgFreedesktopDBusString(); }
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
24
qt.spec
24
qt.spec
@ -13,7 +13,7 @@
|
|||||||
Name: qt
|
Name: qt
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 4.8.7
|
Version: 4.8.7
|
||||||
Release: 51
|
Release: 53
|
||||||
Summary: A software toolkit for developing applications
|
Summary: A software toolkit for developing applications
|
||||||
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
|
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
|
||||||
URL: http://qt-project.org/
|
URL: http://qt-project.org/
|
||||||
@ -73,6 +73,9 @@ Patch41: qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
|
|||||||
Patch42: qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch
|
Patch42: qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch
|
||||||
Patch43: stack-protector.patch
|
Patch43: stack-protector.patch
|
||||||
Patch44: 0001-Redo-the-Q_FOREACH-loop-control-without-GCC-statemen.patch
|
Patch44: 0001-Redo-the-Q_FOREACH-loop-control-without-GCC-statemen.patch
|
||||||
|
%ifarch loongarch64
|
||||||
|
Patch47: fix-build-error-for-loongarch64.patch
|
||||||
|
%endif
|
||||||
Patch6000: CVE-2018-19869.patch
|
Patch6000: CVE-2018-19869.patch
|
||||||
Patch6001: CVE-2018-19872.patch
|
Patch6001: CVE-2018-19872.patch
|
||||||
Patch6002: CVE-2018-19871.patch
|
Patch6002: CVE-2018-19871.patch
|
||||||
@ -80,6 +83,7 @@ Patch6003: CVE-2018-19870.patch
|
|||||||
Patch6004: CVE-2018-19873.patch
|
Patch6004: CVE-2018-19873.patch
|
||||||
Patch6005: CVE-2020-17507.patch
|
Patch6005: CVE-2020-17507.patch
|
||||||
Patch6006: CVE-2020-0570.patch
|
Patch6006: CVE-2020-0570.patch
|
||||||
|
Patch6007: CVE-2023-32573.patch
|
||||||
|
|
||||||
BuildRequires: cups-devel desktop-file-utils gcc-c++ libjpeg-devel findutils libmng-devel libtiff-devel pkgconfig pkgconfig(alsa)
|
BuildRequires: cups-devel desktop-file-utils gcc-c++ libjpeg-devel findutils libmng-devel libtiff-devel pkgconfig pkgconfig(alsa)
|
||||||
BuildRequires: pkgconfig(dbus-1) pkgconfig(fontconfig) pkgconfig(glib-2.0) pkgconfig(icu-i18n) openssl-devel pkgconfig(libpng)
|
BuildRequires: pkgconfig(dbus-1) pkgconfig(fontconfig) pkgconfig(glib-2.0) pkgconfig(icu-i18n) openssl-devel pkgconfig(libpng)
|
||||||
@ -159,8 +163,13 @@ RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
|||||||
CXXFLAGS="$CXXFLAGS -std=gnu++98 -Wno-deprecated"
|
CXXFLAGS="$CXXFLAGS -std=gnu++98 -Wno-deprecated"
|
||||||
|
|
||||||
export LD_LIBRARY_PATH=$PWD/lib/
|
export LD_LIBRARY_PATH=$PWD/lib/
|
||||||
|
%ifarch loongarch64
|
||||||
|
export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS -fpermissive"
|
||||||
|
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS -fpermissive"
|
||||||
|
%else
|
||||||
export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS"
|
export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS"
|
||||||
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
|
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
|
||||||
|
%endif
|
||||||
export LDFLAGS="$LDFLAGS $RPM_LD_FLAGS"
|
export LDFLAGS="$LDFLAGS $RPM_LD_FLAGS"
|
||||||
export PATH=$PWD/bin:$PATH
|
export PATH=$PWD/bin:$PATH
|
||||||
export QTDIR=$PWD
|
export QTDIR=$PWD
|
||||||
@ -446,13 +455,22 @@ fi
|
|||||||
%{_qt4_prefix}/examples/
|
%{_qt4_prefix}/examples/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed 14 Oct 2020 wangyue <wangyue92@huawei.com> - 1:4.8.7-51
|
* Mon Aug 21 2023 peijiankang<peijiankang@kylinos.cn> - 1:4.8.7-53
|
||||||
|
- Type:cves
|
||||||
|
- ID:CVE-2023-32573
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:fix CVE-2023-32573
|
||||||
|
|
||||||
|
* Mon May 8 2023 Wenlong Zhang <zhangwenlong@loongson.cn> - 1:4.8.7-52
|
||||||
|
- add loongarch64 support for qt
|
||||||
|
|
||||||
|
* Wed Oct 14 2020 wangyue <wangyue92@huawei.com> - 1:4.8.7-51
|
||||||
- fix CVE-2020-0570
|
- fix CVE-2020-0570
|
||||||
|
|
||||||
* Sun Sep 20 2020 shaoqiang kang <kangshaoqiang1@huawei.com> - 1:4.8.7-50
|
* Sun Sep 20 2020 shaoqiang kang <kangshaoqiang1@huawei.com> - 1:4.8.7-50
|
||||||
- fix CVE-2020-17507
|
- fix CVE-2020-17507
|
||||||
|
|
||||||
* Tue Sep 2020 shaoqiang kang <kangshaoqiang1@huawei.com> - 1:4.8.7-49
|
* Wed Sep 16 2020 shaoqiang kang <kangshaoqiang1@huawei.com> - 1:4.8.7-49
|
||||||
- Modify source
|
- Modify source
|
||||||
|
|
||||||
* Mon May 25 2020 lizhenhua <lizhenhua12@huawei.com> - 1:4.8.7-48
|
* Mon May 25 2020 lizhenhua <lizhenhua12@huawei.com> - 1:4.8.7-48
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user