From 1b1f53a5e798ffd9b3a4b735be9e611cfee143fa Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Mon, 9 Jun 2014 21:16:33 -0700 Subject: [PATCH] Fix memory leaks in tests --- spec/runtime/language_specs.cc | 6 ++++-- spec/runtime/tree_spec.cc | 9 +++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/spec/runtime/language_specs.cc b/spec/runtime/language_specs.cc index 582ce339..f7968900 100644 --- a/spec/runtime/language_specs.cc +++ b/spec/runtime/language_specs.cc @@ -24,11 +24,13 @@ describe("Languages", [&]() { before_each([&]() { ts_document_set_parser(doc, parser_constructor()); }); - + for (auto &entry : test_entries_for_language(language)) { it(entry.description.c_str(), [&]() { ts_document_set_input_string(doc, entry.input.c_str()); - AssertThat(ts_document_string(doc), Equals(entry.tree_string.c_str())); + auto doc_string = ts_document_string(doc); + AssertThat(doc_string, Equals(entry.tree_string.c_str())); + free((void *)doc_string); }); } }); diff --git a/spec/runtime/tree_spec.cc b/spec/runtime/tree_spec.cc index 8c691bf1..f5257560 100644 --- a/spec/runtime/tree_spec.cc +++ b/spec/runtime/tree_spec.cc @@ -79,8 +79,13 @@ describe("trees", []() { describe("serialization", [&]() { it("returns a readable string", [&]() { - AssertThat(string(ts_tree_string(tree1, names)), Equals("(cat)")); - AssertThat(string(ts_tree_string(parent1, names)), Equals("(dog (cat) (cat))")); + auto string1 = ts_tree_string(tree1, names); + AssertThat(string(string1), Equals("(cat)")); + free(string1); + + auto string2 = ts_tree_string(parent1, names); + AssertThat(string(string2), Equals("(dog (cat) (cat))")); + free(string2); }); }); });