]> granicus.if.org Git - libexpat/commitdiff
Test parameter entity with invalid keyword (not SYSTEM or PUBLIC)
authorRhodri James <rhodri@kynesim.co.uk>
Tue, 20 Jun 2017 13:53:09 +0000 (14:53 +0100)
committerSebastian Pipping <sebastian@pipping.org>
Sat, 22 Jul 2017 20:49:21 +0000 (22:49 +0200)
expat/tests/runtests.c

index 31a66a484a518343c9b5e94d83834771a9d74c6a..57e1d7fe7300a47c09619113836b8fc39bbaa6f9 100644 (file)
@@ -6742,6 +6742,19 @@ START_TEST(test_bad_entity)
 }
 END_TEST
 
+/* Test unquoted value is faulted */
+START_TEST(test_bad_entity_2)
+{
+    const char *text =
+        "<!DOCTYPE doc [\n"
+        "  <!ENTITY % foo bar>\n"
+        "]>\n"
+        "<doc/>";
+    expect_failure(text, XML_ERROR_SYNTAX,
+                   "ENTITY without Public ID is not rejected");
+}
+END_TEST
+
 /*
  * Namespaces tests.
  */
@@ -12230,6 +12243,7 @@ make_suite(void)
     tcase_add_test(tc_basic, test_short_doctype_3);
     tcase_add_test(tc_basic, test_long_doctype);
     tcase_add_test(tc_basic, test_bad_entity);
+    tcase_add_test(tc_basic, test_bad_entity_2);
 
     suite_add_tcase(s, tc_namespace);
     tcase_add_checked_fixture(tc_namespace,