diff options
author | Sebastian Pipping <sebastian@pipping.org> | 2022-03-03 17:29:54 +0100 |
---|---|---|
committer | Sebastian Pipping <sebastian@pipping.org> | 2022-03-04 16:54:01 +0100 |
commit | e0f852db1e3b1e6d34922c68a653c3cc4b85361c (patch) | |
tree | 61cea0d6e13870747a343ce95a97e65b126fcb47 | |
parent | 2ba6c76fca21397959145e18c5ef376201209020 (diff) | |
download | libexpat-git-e0f852db1e3b1e6d34922c68a653c3cc4b85361c.tar.gz |
tests: Cover relaxed fix to CVE-2022-25236
-rw-r--r-- | expat/tests/runtests.c | 8 |
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
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) |