summaryrefslogtreecommitdiff
path: root/recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch
diff options
context:
space:
mode:
authorMykola Salomatin <mykola.salomatin@globallogic.com>2023-01-26 19:30:38 +0200
committerMykola Salomatin <mykola.salomatin@globallogic.com>2023-01-26 19:30:38 +0200
commit8b2c5033c01df17ce1bed9489570a5e56e3be862 (patch)
tree8a7abda338d1c144e904cd54e6ab99322119969e /recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch
parente77d906d6f9d0da38ab5faff8b2a11a4383650de (diff)
parent755c00a4dfc34c95640e832ca8cafb71a7d356aa (diff)
downloadmeta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.tar.gz
meta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.tar.bz2
meta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.zip
Merge branch '6' into mpower-dev-l6g1
Diffstat (limited to 'recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch')
-rw-r--r--recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch b/recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch
new file mode 100644
index 0000000..7fc243e
--- /dev/null
+++ b/recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch
@@ -0,0 +1,98 @@
+From 646fe48d1c8a74310c409ddf81fe7df6700052af Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Tue, 22 Feb 2022 11:51:08 +0100
+Subject: [PATCH] Fix --without-valid build
+
+Regressed in commit 652dd12a.
+---
+ valid.c | 58 ++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 29 insertions(+), 29 deletions(-)
+---
+
+From https://github.com/GNOME/libxml2.git
+ commit 646fe48d1c8a74310c409ddf81fe7df6700052af
+
+CVE: CVE-2022-23308
+Upstream-Status: Backport
+
+Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
+
+diff --git a/valid.c b/valid.c
+index 8e596f1d..9684683a 100644
+--- a/valid.c
++++ b/valid.c
+@@ -479,35 +479,6 @@ nodeVPop(xmlValidCtxtPtr ctxt)
+ return (ret);
+ }
+
+-/**
+- * xmlValidNormalizeString:
+- * @str: a string
+- *
+- * Normalize a string in-place.
+- */
+-static void
+-xmlValidNormalizeString(xmlChar *str) {
+- xmlChar *dst;
+- const xmlChar *src;
+-
+- if (str == NULL)
+- return;
+- src = str;
+- dst = str;
+-
+- while (*src == 0x20) src++;
+- while (*src != 0) {
+- if (*src == 0x20) {
+- while (*src == 0x20) src++;
+- if (*src != 0)
+- *dst++ = 0x20;
+- } else {
+- *dst++ = *src++;
+- }
+- }
+- *dst = 0;
+-}
+-
+ #ifdef DEBUG_VALID_ALGO
+ static void
+ xmlValidPrintNode(xmlNodePtr cur) {
+@@ -2636,6 +2607,35 @@ xmlDumpNotationTable(xmlBufferPtr buf, xmlNotationTablePtr table) {
+ (xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \
+ xmlFree((char *)(str));
+
++/**
++ * xmlValidNormalizeString:
++ * @str: a string
++ *
++ * Normalize a string in-place.
++ */
++static void
++xmlValidNormalizeString(xmlChar *str) {
++ xmlChar *dst;
++ const xmlChar *src;
++
++ if (str == NULL)
++ return;
++ src = str;
++ dst = str;
++
++ while (*src == 0x20) src++;
++ while (*src != 0) {
++ if (*src == 0x20) {
++ while (*src == 0x20) src++;
++ if (*src != 0)
++ *dst++ = 0x20;
++ } else {
++ *dst++ = *src++;
++ }
++ }
++ *dst = 0;
++}
++
+ static int
+ xmlIsStreaming(xmlValidCtxtPtr ctxt) {
+ xmlParserCtxtPtr pctxt;
+--
+2.35.1
+