aboutsummaryrefslogtreecommitdiff
path: root/src/tree_sitter/language.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tree_sitter/language.c')
-rw-r--r--src/tree_sitter/language.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tree_sitter/language.c b/src/tree_sitter/language.c
index e240ef2a53..a396b4b0b6 100644
--- a/src/tree_sitter/language.c
+++ b/src/tree_sitter/language.c
@@ -72,8 +72,10 @@ const char *ts_language_symbol_name(
return "ERROR";
} else if (symbol == ts_builtin_sym_error_repeat) {
return "_ERROR";
- } else {
+ } else if (symbol < ts_language_symbol_count(self)) {
return self->symbol_names[symbol];
+ } else {
+ return NULL;
}
}
@@ -119,7 +121,7 @@ const char *ts_language_field_name_for_id(
TSFieldId id
) {
uint32_t count = ts_language_field_count(self);
- if (count) {
+ if (count && id <= count) {
return self->field_names[id];
} else {
return NULL;