diff options
| author | Stefan Fritsch <sf@sfritsch.de> | 2011-12-27 19:43:04 +0100 |
|---|---|---|
| committer | Stefan Fritsch <sf@sfritsch.de> | 2011-12-27 19:43:04 +0100 |
| commit | 498ea95018b369e62646a98c7d7d5413b56e170c (patch) | |
| tree | b7c4798010bbb18d4d2c07f722d7fb0d38efd24c /srclib/apr-util/test/testxml.c | |
| parent | e8bb7adda7f73e53cdab823e9cab2a49ccbdf188 (diff) | |
| download | apache2-498ea95018b369e62646a98c7d7d5413b56e170c.tar.gz | |
Upstream tarball 2.2.17upstream/2.2.17
Diffstat (limited to 'srclib/apr-util/test/testxml.c')
| -rw-r--r-- | srclib/apr-util/test/testxml.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/srclib/apr-util/test/testxml.c b/srclib/apr-util/test/testxml.c index 1d170cd9..c9554de8 100644 --- a/srclib/apr-util/test/testxml.c +++ b/srclib/apr-util/test/testxml.c @@ -166,12 +166,40 @@ static void test_billion_laughs(abts_case *tc, void *data) apr_file_close(fd); } +static void test_CVE_2009_3720_alpha(abts_case *tc, void *data) +{ + apr_xml_parser *xp; + apr_xml_doc *doc; + apr_status_t rv; + + xp = apr_xml_parser_create(p); + + rv = apr_xml_parser_feed(xp, "\0\r\n", 3); + if (rv == APR_SUCCESS) + apr_xml_parser_done(xp, &doc); +} + +static void test_CVE_2009_3720_beta(abts_case *tc, void *data) +{ + apr_xml_parser *xp; + apr_xml_doc *doc; + apr_status_t rv; + + xp = apr_xml_parser_create(p); + + rv = apr_xml_parser_feed(xp, "<?xml version\xc2\x85='1.0'?>\r\n", 25); + if (rv == APR_SUCCESS) + apr_xml_parser_done(xp, &doc); +} + abts_suite *testxml(abts_suite *suite) { suite = ADD_SUITE(suite); abts_run_test(suite, test_xml_parser, NULL); abts_run_test(suite, test_billion_laughs, NULL); + abts_run_test(suite, test_CVE_2009_3720_alpha, NULL); + abts_run_test(suite, test_CVE_2009_3720_beta, NULL); return suite; } |
