Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 1 | From 646fe48d1c8a74310c409ddf81fe7df6700052af Mon Sep 17 00:00:00 2001 |
| 2 | From: Nick Wellnhofer <wellnhofer@aevum.de> |
| 3 | Date: Tue, 22 Feb 2022 11:51:08 +0100 |
| 4 | Subject: [PATCH] Fix --without-valid build |
| 5 | |
| 6 | Regressed in commit 652dd12a. |
| 7 | --- |
| 8 | valid.c | 58 ++++++++++++++++++++++++++++----------------------------- |
| 9 | 1 file changed, 29 insertions(+), 29 deletions(-) |
| 10 | --- |
| 11 | |
| 12 | From https://github.com/GNOME/libxml2.git |
| 13 | commit 646fe48d1c8a74310c409ddf81fe7df6700052af |
| 14 | |
| 15 | CVE: CVE-2022-23308 |
| 16 | Upstream-Status: Backport |
| 17 | |
| 18 | Signed-off-by: Joe Slater <joe.slater@windriver.com> |
| 19 | |
| 20 | |
| 21 | diff --git a/valid.c b/valid.c |
| 22 | index 8e596f1d..9684683a 100644 |
| 23 | --- a/valid.c |
| 24 | +++ b/valid.c |
| 25 | @@ -479,35 +479,6 @@ nodeVPop(xmlValidCtxtPtr ctxt) |
| 26 | return (ret); |
| 27 | } |
| 28 | |
| 29 | -/** |
| 30 | - * xmlValidNormalizeString: |
| 31 | - * @str: a string |
| 32 | - * |
| 33 | - * Normalize a string in-place. |
| 34 | - */ |
| 35 | -static void |
| 36 | -xmlValidNormalizeString(xmlChar *str) { |
| 37 | - xmlChar *dst; |
| 38 | - const xmlChar *src; |
| 39 | - |
| 40 | - if (str == NULL) |
| 41 | - return; |
| 42 | - src = str; |
| 43 | - dst = str; |
| 44 | - |
| 45 | - while (*src == 0x20) src++; |
| 46 | - while (*src != 0) { |
| 47 | - if (*src == 0x20) { |
| 48 | - while (*src == 0x20) src++; |
| 49 | - if (*src != 0) |
| 50 | - *dst++ = 0x20; |
| 51 | - } else { |
| 52 | - *dst++ = *src++; |
| 53 | - } |
| 54 | - } |
| 55 | - *dst = 0; |
| 56 | -} |
| 57 | - |
| 58 | #ifdef DEBUG_VALID_ALGO |
| 59 | static void |
| 60 | xmlValidPrintNode(xmlNodePtr cur) { |
| 61 | @@ -2636,6 +2607,35 @@ xmlDumpNotationTable(xmlBufferPtr buf, xmlNotationTablePtr table) { |
| 62 | (xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \ |
| 63 | xmlFree((char *)(str)); |
| 64 | |
| 65 | +/** |
| 66 | + * xmlValidNormalizeString: |
| 67 | + * @str: a string |
| 68 | + * |
| 69 | + * Normalize a string in-place. |
| 70 | + */ |
| 71 | +static void |
| 72 | +xmlValidNormalizeString(xmlChar *str) { |
| 73 | + xmlChar *dst; |
| 74 | + const xmlChar *src; |
| 75 | + |
| 76 | + if (str == NULL) |
| 77 | + return; |
| 78 | + src = str; |
| 79 | + dst = str; |
| 80 | + |
| 81 | + while (*src == 0x20) src++; |
| 82 | + while (*src != 0) { |
| 83 | + if (*src == 0x20) { |
| 84 | + while (*src == 0x20) src++; |
| 85 | + if (*src != 0) |
| 86 | + *dst++ = 0x20; |
| 87 | + } else { |
| 88 | + *dst++ = *src++; |
| 89 | + } |
| 90 | + } |
| 91 | + *dst = 0; |
| 92 | +} |
| 93 | + |
| 94 | static int |
| 95 | xmlIsStreaming(xmlValidCtxtPtr ctxt) { |
| 96 | xmlParserCtxtPtr pctxt; |
| 97 | -- |
| 98 | 2.35.1 |
| 99 | |