diff --git a/src/utils/ssl.c b/src/utils/ssl.c
index 0bd41a3641766379a47d0ef14cc5ca4622219efe..12beac528fbcfb36d9643469fb8213159ee6a80a 100644 (file)
--- a/src/utils/ssl.c
+++ b/src/utils/ssl.c
if (errno) {
char errbuf[1024];
- sdb_log(prio, "%s: %s", msg,
- sdb_strerror(errno, errbuf, sizeof(errbuf)));
+ sdb_log(prio, "%s: %s", msg, sdb_strerror(errno, errbuf, sizeof(errbuf)));
}
} /* ssl_log_err */
{
int i;
+ ERR_free_strings();
+
for (i = 0; i < mutexes_num; ++i)
pthread_mutex_destroy(&mutexes[i]);
if (mutexes)
free(mutexes);
mutexes = NULL;
mutexes_num = 0;
-
- ERR_free_strings();
} /* sdb_ssl_shutdown */
sdb_ssl_client_t *
server->opts.ca_file, NULL)) {
ssl_log(SDB_LOG_ERR, "Failed to load CA file %s",
server->opts.ca_file);
+ sdb_ssl_server_destroy(server);
return NULL;
}
SSL_CTX_set_client_CA_list(server->ctx,
server->opts.cert_file, SSL_FILETYPE_PEM)) {
ssl_log(SDB_LOG_ERR, "Failed to load SSL cert file %s",
server->opts.cert_file);
+ sdb_ssl_server_destroy(server);
return NULL;
}
if (! SSL_CTX_use_PrivateKey_file(server->ctx,
server->opts.key_file, SSL_FILETYPE_PEM)) {
ssl_log(SDB_LOG_ERR, "Failed to load SSL key file %s",
server->opts.key_file);
+ sdb_ssl_server_destroy(server);
return NULL;
}
if (! SSL_CTX_check_private_key(server->ctx)) {
ssl_log(SDB_LOG_ERR, "Failed to verify SSL private key");
+ sdb_ssl_server_destroy(server);
return NULL;
}