Removes some of the memory leaks discovered by AddressSanitizer
in the test suite (see Issue #23)
tc->ntests++;
}
+static void
+tcase_dispose(TCase *tc)
+{
+ free(tc->tests);
+ free(tc);
+}
+
+static void
+suite_dispose(Suite *suite)
+{
+ while (suite->tests != NULL) {
+ TCase *next = suite->tests->next_tcase;
+ tcase_dispose(suite->tests);
+ suite->tests = next;
+ }
+ free(suite);
+}
+
SRunner *
srunner_create(Suite *suite)
{
void
srunner_free(SRunner *runner)
{
- free(runner->suite);
+ suite_dispose(runner->suite);
free(runner);
}