!5 Upgrade libEMF to 1.0.13; fix CVE-2020-13999 CVE-2020-11863 CVE-2020-11865 CVE-2020-11866 CVE-2020-11864

From: @starlet-dx
Reviewed-by: @ruebb
Signed-off-by: @ruebb
This commit is contained in:
openeuler-ci-bot 2021-09-28 07:20:18 +00:00 committed by Gitee
commit 875d754081
4 changed files with 5 additions and 95 deletions

View File

@ -1,11 +1,10 @@
Name: libEMF
Version: 1.0.9
Release: 9
Version: 1.0.13
Release: 1
Summary: A library for generating Enhanced Metafiles
License: LGPLv2+ and GPLv2+
URL: http://libemf.sourceforge.net/
Source0: https://downloads.sourceforge.net/project/libemf/libemf/%{version}/libemf-%{version}.tar.gz
Patch0000: support-aarch64.patch
BuildRequires: gcc-c++ chrpath
@ -60,6 +59,9 @@ make check
%doc doc/html/* NEWS README
%changelog
* Tue Sep 28 2021 yaoxin <yaoxin30@huawei.com> - 1.0.13-1
- Upgrade libEMF to 1.0.13; fix CVE-2020-13999 CVE-2020-11863 CVE-2020-11865 CVE-2020-11866 CVE-2020-11864
* Fri Sep 10 2021 Pengju Jiang <jiangpengju2@huawei.com> - 1.0.9-9
- solve the rpath problem

BIN
libemf-1.0.13.tar.gz Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,92 +0,0 @@
--- libEMF-1.0.7/include/libEMF/wine/winnt.h.orig 2014-05-11 09:42:07.438982485 +0100
+++ libEMF-1.0.7/include/libEMF/wine/winnt.h 2014-05-11 09:42:42.104573014 +0100
@@ -45,6 +45,10 @@
# undef WORDS_BIGENDIAN
# undef BITFIELDS_BIGENDIAN
# undef ALLOW_UNALIGNED_ACCESS
+#elif defined(__aarch64__)
+# undef WORDS_BIGENDIAN
+# undef BITFIELDS_BIGENDIAN
+# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__sparc__)
# define WORDS_BIGENDIAN
# define BITFIELDS_BIGENDIAN
@@ -1425,6 +1429,78 @@
#endif /* __arm__ */
+#ifdef __aarch64__
+/*
+ * FIXME:
+ *
+ * There is not yet an official CONTEXT structure defined for the AArch64
+ * architecture, so I just made one up.
+ *
+ */
+
+/* These definitions are taken directly from wine
+ * http://source.winehq.org/git/wine.git/blob_plain/HEAD:/include/winnt.h */
+
+#define CONTEXT_ARM64 0x2000000
+#define CONTEXT_CONTROL (CONTEXT_ARM64 | 0x00000001)
+#define CONTEXT_INTEGER (CONTEXT_ARM64 | 0x00000002)
+#define CONTEXT_FLOATING_POINT (CONTEXT_ARM64 | 0x00000004)
+#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x00000008)
+
+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
+
+#define EXCEPTION_READ_FAULT 0
+#define EXCEPTION_WRITE_FAULT 1
+#define EXCEPTION_EXECUTE_FAULT 8
+
+typedef struct _CONTEXT {
+ ULONG ContextFlags;
+
+ /* This section is specified/returned if the ContextFlags word contains
+ the flag CONTEXT_INTEGER. */
+ ULONGLONG X0;
+ ULONGLONG X1;
+ ULONGLONG X2;
+ ULONGLONG X3;
+ ULONGLONG X4;
+ ULONGLONG X5;
+ ULONGLONG X6;
+ ULONGLONG X7;
+ ULONGLONG X8;
+ ULONGLONG X9;
+ ULONGLONG X10;
+ ULONGLONG X11;
+ ULONGLONG X12;
+ ULONGLONG X13;
+ ULONGLONG X14;
+ ULONGLONG X15;
+ ULONGLONG X16;
+ ULONGLONG X17;
+ ULONGLONG X18;
+ ULONGLONG X19;
+ ULONGLONG X20;
+ ULONGLONG X21;
+ ULONGLONG X22;
+ ULONGLONG X23;
+ ULONGLONG X24;
+ ULONGLONG X25;
+ ULONGLONG X26;
+ ULONGLONG X27;
+ ULONGLONG X28;
+ ULONGLONG X29;
+ ULONGLONG X30;
+
+ /* These are selected by CONTEXT_CONTROL */
+ ULONGLONG Sp;
+ ULONGLONG Pc;
+ ULONGLONG PState;
+
+ /* These are selected by CONTEXT_FLOATING_POINT */
+ /* FIXME */
+} CONTEXT;
+
+#endif /* __aarch64__ */
+
#if !defined(CONTEXT_FULL) && !defined(RC_INVOKED)
#error You need to define a CONTEXT for your CPU
#endif