diff --git a/projects/libxml2/libxml2_xml_read_memory_fuzzer.cc b/projects/libxml2/libxml2_xml_read_memory_fuzzer.cc index 4ae6035b7..6ef325764 100644 --- a/projects/libxml2/libxml2_xml_read_memory_fuzzer.cc +++ b/projects/libxml2/libxml2_xml_read_memory_fuzzer.cc @@ -25,6 +25,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { const std::size_t data_hash = std::hash()(data_string); const int max_option_value = std::numeric_limits::max(); const int random_option_value = data_hash % max_option_value; + + // Disable XML_PARSE_HUGE to avoid stack overflow. + random_option_value &= ~XML_PARSE_HUGE; const int options[] = {0, random_option_value}; for (const auto option_value : options) {