diff --git a/src/tools/sysdb/main.c b/src/tools/sysdb/main.c
index b22e11f0f89da462596783a000ffdcb2d70835fa..91a67232afaeda429cfd78689061ea87781697c5 100644 (file)
--- a/src/tools/sysdb/main.c
+++ b/src/tools/sysdb/main.c
input.client = sdb_client_create(host);
if (! input.client) {
sdb_log(SDB_LOG_ERR, "Failed to create client object");
- free(input.user);
+ sdb_input_reset(&input);
exit(1);
}
if (sdb_client_connect(input.client, input.user)) {
sdb_log(SDB_LOG_ERR, "Failed to connect to SysDBd");
- sdb_client_destroy(input.client);
- free(input.user);
+ sdb_input_reset(&input);
exit(1);
}
if (commands) {
int status = execute_commands(input.client, commands);
sdb_llist_destroy(commands);
- sdb_client_destroy(input.client);
- free(input.user);
+ sdb_input_reset(&input);
if ((status != SDB_CONNECTION_OK) && (status != SDB_CONNECTION_DATA))
exit(1);
exit(0);
hist_file, sdb_strerror(errno, errbuf, sizeof(errbuf)));
}
}
- free(input.user);
input.input = sdb_strbuf_create(2048);
sdb_input_init(&input);
}
}
- sdb_client_destroy(input.client);
- sdb_strbuf_destroy(input.input);
+ sdb_input_reset(&input);
ERR_free_strings();
return 0;