backport upstream patches
This commit is contained in:
parent
f649dfac91
commit
e5ba3fe521
219
backport-xpath-Fix-build-without-LIBXML_XPATH_ENABLED.patch
Normal file
219
backport-xpath-Fix-build-without-LIBXML_XPATH_ENABLED.patch
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
From 01723fc68f8be8ee9b986f3266c81013f8f66d03 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||||
|
Date: Mon, 8 May 2023 23:12:33 +0200
|
||||||
|
Subject: [PATCH] xpath: Fix build without LIBXML_XPATH_ENABLED
|
||||||
|
|
||||||
|
Move static function declaration into XPATH block. Also move comparison
|
||||||
|
functions.
|
||||||
|
|
||||||
|
Fixes #537.
|
||||||
|
|
||||||
|
---
|
||||||
|
xpath.c | 184 ++++++++++++++++++++++++++++----------------------------
|
||||||
|
1 file changed, 92 insertions(+), 92 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/xpath.c b/xpath.c
|
||||||
|
index a832722..cbdff93 100644
|
||||||
|
--- a/xpath.c
|
||||||
|
+++ b/xpath.c
|
||||||
|
@@ -153,6 +153,98 @@
|
||||||
|
* any use of the macros IS_ASCII_CHARACTER and IS_ASCII_DIGIT)
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
|
||||||
|
+
|
||||||
|
+/************************************************************************
|
||||||
|
+ * *
|
||||||
|
+ * Floating point stuff *
|
||||||
|
+ * *
|
||||||
|
+ ************************************************************************/
|
||||||
|
+
|
||||||
|
+double xmlXPathNAN = 0.0;
|
||||||
|
+double xmlXPathPINF = 0.0;
|
||||||
|
+double xmlXPathNINF = 0.0;
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * xmlXPathInit:
|
||||||
|
+ *
|
||||||
|
+ * Initialize the XPath environment
|
||||||
|
+ */
|
||||||
|
+ATTRIBUTE_NO_SANITIZE("float-divide-by-zero")
|
||||||
|
+void
|
||||||
|
+xmlXPathInit(void) {
|
||||||
|
+ /* MSVC doesn't allow division by zero in constant expressions. */
|
||||||
|
+ double zero = 0.0;
|
||||||
|
+ xmlXPathNAN = 0.0 / zero;
|
||||||
|
+ xmlXPathPINF = 1.0 / zero;
|
||||||
|
+ xmlXPathNINF = -xmlXPathPINF;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * xmlXPathIsNaN:
|
||||||
|
+ * @val: a double value
|
||||||
|
+ *
|
||||||
|
+ * Returns 1 if the value is a NaN, 0 otherwise
|
||||||
|
+ */
|
||||||
|
+int
|
||||||
|
+xmlXPathIsNaN(double val) {
|
||||||
|
+#ifdef isnan
|
||||||
|
+ return isnan(val);
|
||||||
|
+#else
|
||||||
|
+ return !(val == val);
|
||||||
|
+#endif
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * xmlXPathIsInf:
|
||||||
|
+ * @val: a double value
|
||||||
|
+ *
|
||||||
|
+ * Returns 1 if the value is +Infinite, -1 if -Infinite, 0 otherwise
|
||||||
|
+ */
|
||||||
|
+int
|
||||||
|
+xmlXPathIsInf(double val) {
|
||||||
|
+#ifdef isinf
|
||||||
|
+ return isinf(val) ? (val > 0 ? 1 : -1) : 0;
|
||||||
|
+#else
|
||||||
|
+ if (val >= xmlXPathPINF)
|
||||||
|
+ return 1;
|
||||||
|
+ if (val <= -xmlXPathPINF)
|
||||||
|
+ return -1;
|
||||||
|
+ return 0;
|
||||||
|
+#endif
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#endif /* SCHEMAS or XPATH */
|
||||||
|
+
|
||||||
|
+#ifdef LIBXML_XPATH_ENABLED
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * TODO: when compatibility allows remove all "fake node libxslt" strings
|
||||||
|
+ * the test should just be name[0] = ' '
|
||||||
|
+ */
|
||||||
|
+#ifdef DEBUG_XPATH_EXPRESSION
|
||||||
|
+#define DEBUG_STEP
|
||||||
|
+#define DEBUG_EXPR
|
||||||
|
+#define DEBUG_EVAL_COUNTS
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+static xmlNs xmlXPathXMLNamespaceStruct = {
|
||||||
|
+ NULL,
|
||||||
|
+ XML_NAMESPACE_DECL,
|
||||||
|
+ XML_XML_NAMESPACE,
|
||||||
|
+ BAD_CAST "xml",
|
||||||
|
+ NULL,
|
||||||
|
+ NULL
|
||||||
|
+};
|
||||||
|
+static xmlNsPtr xmlXPathXMLNamespace = &xmlXPathXMLNamespaceStruct;
|
||||||
|
+#ifndef LIBXML_THREAD_ENABLED
|
||||||
|
+/*
|
||||||
|
+ * Optimizer is disabled only when threaded apps are detected while
|
||||||
|
+ * the library ain't compiled for thread safety.
|
||||||
|
+ */
|
||||||
|
+static int xmlXPathDisableOptimizer = 0;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
xmlXPathNodeSetClear(xmlNodeSetPtr set, int hasNsNodes);
|
||||||
|
|
||||||
|
@@ -483,98 +575,6 @@ int wrap_cmp( xmlNodePtr x, xmlNodePtr y );
|
||||||
|
#include "timsort.h"
|
||||||
|
#endif /* WITH_TIM_SORT */
|
||||||
|
|
||||||
|
-#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
|
||||||
|
-
|
||||||
|
-/************************************************************************
|
||||||
|
- * *
|
||||||
|
- * Floating point stuff *
|
||||||
|
- * *
|
||||||
|
- ************************************************************************/
|
||||||
|
-
|
||||||
|
-double xmlXPathNAN = 0.0;
|
||||||
|
-double xmlXPathPINF = 0.0;
|
||||||
|
-double xmlXPathNINF = 0.0;
|
||||||
|
-
|
||||||
|
-/**
|
||||||
|
- * xmlXPathInit:
|
||||||
|
- *
|
||||||
|
- * Initialize the XPath environment
|
||||||
|
- */
|
||||||
|
-ATTRIBUTE_NO_SANITIZE("float-divide-by-zero")
|
||||||
|
-void
|
||||||
|
-xmlXPathInit(void) {
|
||||||
|
- /* MSVC doesn't allow division by zero in constant expressions. */
|
||||||
|
- double zero = 0.0;
|
||||||
|
- xmlXPathNAN = 0.0 / zero;
|
||||||
|
- xmlXPathPINF = 1.0 / zero;
|
||||||
|
- xmlXPathNINF = -xmlXPathPINF;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-/**
|
||||||
|
- * xmlXPathIsNaN:
|
||||||
|
- * @val: a double value
|
||||||
|
- *
|
||||||
|
- * Returns 1 if the value is a NaN, 0 otherwise
|
||||||
|
- */
|
||||||
|
-int
|
||||||
|
-xmlXPathIsNaN(double val) {
|
||||||
|
-#ifdef isnan
|
||||||
|
- return isnan(val);
|
||||||
|
-#else
|
||||||
|
- return !(val == val);
|
||||||
|
-#endif
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-/**
|
||||||
|
- * xmlXPathIsInf:
|
||||||
|
- * @val: a double value
|
||||||
|
- *
|
||||||
|
- * Returns 1 if the value is +Infinite, -1 if -Infinite, 0 otherwise
|
||||||
|
- */
|
||||||
|
-int
|
||||||
|
-xmlXPathIsInf(double val) {
|
||||||
|
-#ifdef isinf
|
||||||
|
- return isinf(val) ? (val > 0 ? 1 : -1) : 0;
|
||||||
|
-#else
|
||||||
|
- if (val >= xmlXPathPINF)
|
||||||
|
- return 1;
|
||||||
|
- if (val <= -xmlXPathPINF)
|
||||||
|
- return -1;
|
||||||
|
- return 0;
|
||||||
|
-#endif
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-#endif /* SCHEMAS or XPATH */
|
||||||
|
-
|
||||||
|
-#ifdef LIBXML_XPATH_ENABLED
|
||||||
|
-
|
||||||
|
-/*
|
||||||
|
- * TODO: when compatibility allows remove all "fake node libxslt" strings
|
||||||
|
- * the test should just be name[0] = ' '
|
||||||
|
- */
|
||||||
|
-#ifdef DEBUG_XPATH_EXPRESSION
|
||||||
|
-#define DEBUG_STEP
|
||||||
|
-#define DEBUG_EXPR
|
||||||
|
-#define DEBUG_EVAL_COUNTS
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-static xmlNs xmlXPathXMLNamespaceStruct = {
|
||||||
|
- NULL,
|
||||||
|
- XML_NAMESPACE_DECL,
|
||||||
|
- XML_XML_NAMESPACE,
|
||||||
|
- BAD_CAST "xml",
|
||||||
|
- NULL,
|
||||||
|
- NULL
|
||||||
|
-};
|
||||||
|
-static xmlNsPtr xmlXPathXMLNamespace = &xmlXPathXMLNamespaceStruct;
|
||||||
|
-#ifndef LIBXML_THREAD_ENABLED
|
||||||
|
-/*
|
||||||
|
- * Optimizer is disabled only when threaded apps are detected while
|
||||||
|
- * the library ain't compiled for thread safety.
|
||||||
|
- */
|
||||||
|
-static int xmlXPathDisableOptimizer = 0;
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
/************************************************************************
|
||||||
|
* *
|
||||||
|
* Error handling routines *
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -1,7 +1,7 @@
|
|||||||
Summary: Library providing XML and HTML support
|
Summary: Library providing XML and HTML support
|
||||||
Name: libxml2
|
Name: libxml2
|
||||||
Version: 2.9.14
|
Version: 2.9.14
|
||||||
Release: 11
|
Release: 13
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Source: https://download.gnome.org/sources/%{name}/2.9/%{name}-%{version}.tar.xz
|
Source: https://download.gnome.org/sources/%{name}/2.9/%{name}-%{version}.tar.xz
|
||||||
@ -191,6 +191,7 @@ Patch6169: backport-SAX-Always-initialize-SAX1-element-handlers.patch
|
|||||||
Patch6170: backport-CVE-2023-45322.patch
|
Patch6170: backport-CVE-2023-45322.patch
|
||||||
Patch6171: backport-CVE-2024-25062.patch
|
Patch6171: backport-CVE-2024-25062.patch
|
||||||
Patch6172: backport-CVE-2024-34459.patch
|
Patch6172: backport-CVE-2024-34459.patch
|
||||||
|
Patch6173: backport-xpath-Fix-build-without-LIBXML_XPATH_ENABLED.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
@ -346,6 +347,12 @@ rm -fr %{buildroot}
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat May 18 2024 zhuofeng <zhuofeng2@huawei.com> - 2.9.14-13
|
||||||
|
- Type:bugfix
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:backport upstream patches
|
||||||
|
|
||||||
* Tue May 14 2024 cenhuilin <cenhuilin@kylinos.cn> - 2.9.14-11
|
* Tue May 14 2024 cenhuilin <cenhuilin@kylinos.cn> - 2.9.14-11
|
||||||
- Type:CVE
|
- Type:CVE
|
||||||
- CVE:CVE-2024-34459
|
- CVE:CVE-2024-34459
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user