diff --git a/test/fuzz/fuzzer.cc b/test/fuzz/fuzzer.cc index 570dfa7e..2ed7683f 100644 --- a/test/fuzz/fuzzer.cc +++ b/test/fuzz/fuzzer.cc @@ -1,23 +1,21 @@ -#include +#include #include "tree_sitter/runtime.h" -void test_log(void *payload, TSLogType type, const char *string) { } - -TSLogger logger = { - .log = test_log, -}; - extern "C" const TSLanguage *TS_LANG(); extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { const char *str = reinterpret_cast(data); TSParser *parser = ts_parser_new(); - ts_parser_set_language(parser, TS_LANG()); + + // This can fail if the language version doesn't match the runtime version + bool language_ok = ts_parser_set_language(parser, TS_LANG()); + assert(language_ok); + ts_parser_halt_on_error(parser, TS_HALT_ON_ERROR); TSTree *tree = ts_parser_parse_string(parser, NULL, str, size); - TSNode root_node = ts_document_root_node(tree); + TSNode root_node = ts_tree_root_node(tree); ts_tree_delete(tree); ts_parser_delete(parser);