diff --git a/lib/src/parser.c b/lib/src/parser.c index efb10123..7a30c204 100644 --- a/lib/src/parser.c +++ b/lib/src/parser.c @@ -1525,6 +1525,8 @@ TSParser *ts_parser_new(void) { } void ts_parser_delete(TSParser *self) { + if (!self) return; + ts_stack_delete(self->stack); if (self->reduce_actions.contents) { array_delete(&self->reduce_actions); diff --git a/lib/src/tree.c b/lib/src/tree.c index 9f294412..04cb1d24 100644 --- a/lib/src/tree.c +++ b/lib/src/tree.c @@ -29,6 +29,8 @@ TSTree *ts_tree_copy(const TSTree *self) { } void ts_tree_delete(TSTree *self) { + if (!self) return; + SubtreePool pool = ts_subtree_pool_new(0); ts_subtree_release(&pool, self->root); ts_subtree_pool_delete(&pool);