diff --git a/tree_sitter/binding.c b/tree_sitter/binding.c index 94f8ff69..dff81b70 100644 --- a/tree_sitter/binding.c +++ b/tree_sitter/binding.c @@ -1879,6 +1879,12 @@ static bool satisfies_text_predicates(Query *query, TSQueryMatch match, Tree *tr node2 = node_for_capture_index(state, capture2_value_id, match, tree); if (node1 == NULL || node2 == NULL) { is_satisfied = true; + if (node1 != NULL) { + Py_XDECREF(node1); + } + if (node2 != NULL) { + Py_XDECREF(node2); + } } else { node1_text = node_get_text(node1, NULL); node2_text = node_get_text(node2, NULL);