From: Vsevolod Stakhov Date: Tue, 26 Feb 2019 16:01:17 +0000 (+0000) Subject: [Minor] Fix cleanup X-Git-Tag: 1.9.0~81 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ceaafac997acb1cd58c4682f26de0be9dfe11da6;p=rspamd.git [Minor] Fix cleanup --- diff --git a/src/controller.c b/src/controller.c index 350745f3c..87ac965ec 100644 --- a/src/controller.c +++ b/src/controller.c @@ -3942,8 +3942,8 @@ start_controller_worker (struct rspamd_worker *worker) g_hash_table_unref (ctx->plugins); g_hash_table_unref (ctx->custom_commands); - rspamd_http_context_free (ctx->http_ctx); REF_RELEASE (ctx->cfg); + rspamd_http_context_free (ctx->http_ctx); rspamd_log_close (worker->srv->logger, TRUE); exit (EXIT_SUCCESS); diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c index 8dae4fb4b..50a99f030 100644 --- a/src/fuzzy_storage.c +++ b/src/fuzzy_storage.c @@ -3235,8 +3235,8 @@ start_fuzzy (struct rspamd_worker *worker) rspamd_keypair_cache_destroy (ctx->keypair_cache); } - rspamd_http_context_free (ctx->http_ctx); REF_RELEASE (ctx->cfg); + rspamd_http_context_free (ctx->http_ctx); rspamd_log_close (worker->srv->logger, TRUE); exit (EXIT_SUCCESS); diff --git a/src/libutil/http_context.c b/src/libutil/http_context.c index 39a02b179..87540eee8 100644 --- a/src/libutil/http_context.c +++ b/src/libutil/http_context.c @@ -176,6 +176,14 @@ rspamd_http_context_free (struct rspamd_http_context *ctx) rspamd_keypair_cache_destroy (ctx->server_kp_cache); } + if (ctx->config.client_key_rotate_time > 0) { + event_del (&ctx->client_rotate_ev); + + if (ctx->client_kp) { + rspamd_keypair_unref (ctx->client_kp); + } + } + g_free (ctx); } diff --git a/src/rspamd_proxy.c b/src/rspamd_proxy.c index e25a66caf..4add6cc22 100644 --- a/src/rspamd_proxy.c +++ b/src/rspamd_proxy.c @@ -2213,8 +2213,8 @@ start_rspamd_proxy (struct rspamd_worker *worker) rspamd_stat_close (); } - rspamd_http_context_free (ctx->http_ctx); REF_RELEASE (ctx->cfg); + rspamd_http_context_free (ctx->http_ctx); rspamd_log_close (worker->srv->logger, TRUE); exit (EXIT_SUCCESS); diff --git a/src/worker.c b/src/worker.c index 0e993b84c..920ee7f72 100644 --- a/src/worker.c +++ b/src/worker.c @@ -703,8 +703,8 @@ start_worker (struct rspamd_worker *worker) rspamd_worker_block_signals (); rspamd_stat_close (); - rspamd_http_context_free (ctx->http_ctx); REF_RELEASE (ctx->cfg); + rspamd_http_context_free (ctx->http_ctx); rspamd_log_close (worker->srv->logger, TRUE); exit (EXIT_SUCCESS);