Merge pull request #13075 from vigoux/ts-check-parser-version

treesitter: check language ABI version on load
This commit is contained in:
Thomas Vigouroux 2020-10-09 11:22:22 +02:00 committed by GitHub
commit ce5a260c9e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -174,6 +174,14 @@ int tslua_add_language(lua_State *L)
return luaL_error(L, "Failed to load parser: internal error");
}
uint32_t lang_version = ts_language_version(lang);
if (lang_version < TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION) {
return luaL_error(
L,
"ABI version mismatch : expected %" PRIu32 ", found %" PRIu32,
TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION, lang_version);
}
pmap_put(cstr_t)(langs, xstrdup(lang_name), lang);
lua_pushboolean(L, true);