From 362019a45e6f94756b6c40e9a336a7db88336c88 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 7 Jul 2016 13:03:13 +0100 Subject: [PATCH] [Fix] Fix dkim private keys operations --- src/libserver/dkim.c | 4 ++++ src/plugins/dkim_check.c | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index 136c24d0b..cdad6365c 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -2036,6 +2036,10 @@ rspamd_dkim_sign_key_load (const gchar *path, GError **err) } nkey = g_slice_alloc0 (sizeof (*nkey)); +#ifdef MADV_ZERO_WIRED_PAGES + madvise (map, len, MADV_ZERO_WIRED_PAGES); +#endif + (void)mlock (map, len); nkey->keydata = map; nkey->keylen = len; diff --git a/src/plugins/dkim_check.c b/src/plugins/dkim_check.c index 1c0ccad68..b405afed0 100644 --- a/src/plugins/dkim_check.c +++ b/src/plugins/dkim_check.c @@ -764,7 +764,7 @@ dkim_sign_callback (struct rspamd_task *task, void *unused) } rspamd_lru_hash_insert (dkim_module_ctx->dkim_sign_hash, - g_strdup (key), rspamd_dkim_sign_key_ref (dkim_key), + g_strdup (key), dkim_key, time (NULL), 0); } @@ -775,7 +775,6 @@ dkim_sign_callback (struct rspamd_task *task, void *unused) if (ctx == NULL) { msg_err_task ("cannot create sign context: %e", key, err); - rspamd_dkim_sign_key_unref (dkim_key); g_error_free (err); return; -- 2.39.5