summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sebastian@pipping.org>2022-03-03 17:29:54 +0100
committerSebastian Pipping <sebastian@pipping.org>2022-03-04 16:54:01 +0100
commite0f852db1e3b1e6d34922c68a653c3cc4b85361c (patch)
tree61cea0d6e13870747a343ce95a97e65b126fcb47
parent2ba6c76fca21397959145e18c5ef376201209020 (diff)
downloadlibexpat-git-e0f852db1e3b1e6d34922c68a653c3cc4b85361c.tar.gz
tests: Cover relaxed fix to CVE-2022-25236
-rw-r--r--expat/tests/runtests.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/expat/tests/runtests.c b/expat/tests/runtests.c
index 60da868e..712706c4 100644
--- a/expat/tests/runtests.c
+++ b/expat/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&#x0A;two' />"},
+ {XML_STATUS_OK, "<doc xmlns='one_two' />", XCS('\n')},
+ {XML_STATUS_ERROR, "<doc xmlns='one&#x0A;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)