summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tests/common_dom.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/tests/common_dom.c b/src/tests/common_dom.c
index 661271d3..9edb237e 100644
--- a/src/tests/common_dom.c
+++ b/src/tests/common_dom.c
@@ -132,12 +132,19 @@ void test_dom_suite_cleanup(const char *tests_path,
errno_t ret;
char *conf_db;
char *sys_db;
+ TALLOC_CTX *tmp_ctx;
- conf_db = talloc_asprintf(NULL, "%s/%s", tests_path, confdb_path);
- sys_db = talloc_asprintf(NULL, "%s/%s", tests_path, sysdb_path);
- if (!conf_db || !sys_db) {
+ tmp_ctx = talloc_new(NULL);
+ if (!tmp_ctx) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("talloc_new failed\n"));
+ return;
+ }
+
+ conf_db = talloc_asprintf(tmp_ctx, "%s/%s", tests_path, confdb_path);
+ if (!conf_db) {
DEBUG(SSSDBG_CRIT_FAILURE,
- ("Could not construct db paths\n"));
+ ("Could not construct conf_db path\n"));
+ goto done;
}
errno = 0;
@@ -148,6 +155,13 @@ void test_dom_suite_cleanup(const char *tests_path,
errno, strerror(errno)));
}
+ sys_db = talloc_asprintf(tmp_ctx, "%s/%s", tests_path, sysdb_path);
+ if (!sys_db) {
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ ("Could not construct sys_db path\n"));
+ goto done;
+ }
+
errno = 0;
ret = unlink(sys_db);
if (ret != 0 && errno != ENOENT) {
@@ -164,6 +178,6 @@ void test_dom_suite_cleanup(const char *tests_path,
errno, strerror(errno)));
}
- talloc_free(conf_db);
- talloc_free(sys_db);
+done:
+ talloc_free(tmp_ctx);
}