From 78efd96bbe90cb2ef88dd1f8a7c7e2b5dba0e9e1 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 25 Apr 2024 13:55:47 -0700 Subject: [PATCH] Crash earlier if native external scanner overflows serialization buffer --- lib/src/parser.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/src/parser.c b/lib/src/parser.c index f3eaf193..4d64f373 100644 --- a/lib/src/parser.c +++ b/lib/src/parser.c @@ -397,10 +397,12 @@ static unsigned ts_parser__external_scanner_serialize( self->lexer.debug_buffer ); } else { - return self->language->external_scanner.serialize( + uint32_t length = self->language->external_scanner.serialize( self->external_scanner_payload, self->lexer.debug_buffer ); + assert(length <= TREE_SITTER_SERIALIZATION_BUFFER_SIZE); + return length; } }