diff --git a/src/utils/ssl.c b/src/utils/ssl.c
index c6a3fcb5e17df59b1050ca7c07aa8315068004ff..fdb170d2b2da42b588dbaec40b33bd2afde5ab8a 100644 (file)
--- a/src/utils/ssl.c
+++ b/src/utils/ssl.c
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;
}