From c41841f4e95a0769f688f6b715cdc7db2fbad039 Mon Sep 17 00:00:00 2001 From: Phil Turnbull Date: Mon, 21 May 2018 12:49:23 -0700 Subject: [PATCH] Assert ts_parser_set_language in fuzz driver --- test/fuzz/fuzzer.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/fuzz/fuzzer.cc b/test/fuzz/fuzzer.cc index 6fe1e4cb..5c247556 100644 --- a/test/fuzz/fuzzer.cc +++ b/test/fuzz/fuzzer.cc @@ -1,4 +1,5 @@ #include +#include #include "tree_sitter/runtime.h" void test_log(void *payload, TSLogType type, const char *string) { } @@ -13,7 +14,11 @@ 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);