39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
From e0f852db1e3b1e6d34922c68a653c3cc4b85361c Mon Sep 17 00:00:00 2001
|
|
From: Sebastian Pipping <sebastian@pipping.org>
|
|
Date: Thu, 3 Mar 2022 17:29:54 +0100
|
|
Subject: [PATCH] tests: Cover relaxed fix to CVE-2022-25236
|
|
|
|
---
|
|
tests/runtests.c | 8 +++++---
|
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/tests/runtests.c b/tests/runtests.c
|
|
index 60da868..712706c 100644
|
|
--- a/tests/runtests.c
|
|
+++ b/tests/runtests.c
|
|
@@ -7406,16 +7406,18 @@ START_TEST(test_ns_separator_in_uri) {
|
|
struct test_case {
|
|
enum XML_Status expectedStatus;
|
|
const char *doc;
|
|
+ XML_Char namesep;
|
|
};
|
|
struct test_case cases[] = {
|
|
- {XML_STATUS_OK, "<doc xmlns='one_two' />"},
|
|
- {XML_STATUS_ERROR, "<doc xmlns='one
two' />"},
|
|
+ {XML_STATUS_OK, "<doc xmlns='one_two' />", XCS('\n')},
|
|
+ {XML_STATUS_ERROR, "<doc xmlns='one
two' />", XCS('\n')},
|
|
+ {XML_STATUS_OK, "<doc xmlns='one:two' />", XCS(':')},
|
|
};
|
|
|
|
size_t i = 0;
|
|
size_t failCount = 0;
|
|
for (; i < sizeof(cases) / sizeof(cases[0]); i++) {
|
|
- XML_Parser parser = XML_ParserCreateNS(NULL, '\n');
|
|
+ XML_Parser parser = XML_ParserCreateNS(NULL, cases[i].namesep);
|
|
XML_SetElementHandler(parser, dummy_start_element, dummy_end_element);
|
|
if (XML_Parse(parser, cases[i].doc, (int)strlen(cases[i].doc),
|
|
/*isFinal*/ XML_TRUE)
|
|
--
|
|
1.8.3.1
|
|
|