diff --git a/src/scanner.c b/src/scanner.c index 1fc77cdb..91678fd3 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -380,7 +380,7 @@ unsigned tree_sitter_python_external_scanner_serialize(void *payload, char *buff size += delimiter_count; uint32_t iter = 1; - for (; iter < scanner->indents.size && size < TREE_SITTER_SERIALIZATION_BUFFER_SIZE; ++iter) { + for (; iter < scanner->indents.size && size + 2 <= TREE_SITTER_SERIALIZATION_BUFFER_SIZE; ++iter) { uint16_t indent_value = *array_get(&scanner->indents, iter); buffer[size++] = (char)(indent_value & 0xFF); buffer[size++] = (char)((indent_value >> 8) & 0xFF);