diff options
author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2017-02-08 08:48:54 -0800 |
---|---|---|
committer | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2017-02-09 07:37:38 -0800 |
commit | 8c62fa9121eacf5cde1ed59bf0cca896227a44d5 (patch) | |
tree | 8187f2de4061ade9ee4fd2df2eea59dbd40283ea /tests/fuzz_xpath.cpp | |
parent | 8b15ae801531f64804566391bfbd10db451956ca (diff) |
tests: Add XPath fuzzing
Only fuzz the parser for now.
Diffstat (limited to 'tests/fuzz_xpath.cpp')
-rw-r--r-- | tests/fuzz_xpath.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/fuzz_xpath.cpp b/tests/fuzz_xpath.cpp new file mode 100644 index 0000000..c7ff4cd --- /dev/null +++ b/tests/fuzz_xpath.cpp @@ -0,0 +1,26 @@ +#include "../src/pugixml.hpp" + +#include <stdint.h> +#include <string.h> + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) +{ + char* text = new char[Size + 1]; + memcpy(text, Data, Size); + text[Size] = 0; + +#ifdef PUGIXML_NO_EXCEPTIONS + pugi::xpath_query q(text); +#else + try + { + pugi::xpath_query q(text); + } + catch (pugi::xpath_exception&) + { + } +#endif + + delete[] text; + return 0; +} |