From a3f2acd3f7388425bfc486234b9c1ca066a62f1a Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 6 Dec 2019 13:58:39 +0000 Subject: [PATCH] [Minor] Fix race condition with LRU keys lifetime --- src/libserver/spf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libserver/spf.c b/src/libserver/spf.c index d21789c013..a282035beb 100644 --- a/src/libserver/spf.c +++ b/src/libserver/spf.c @@ -219,7 +219,7 @@ spf_library_config (const ucl_object_t *obj) if (ucl_object_toint_safe (value, &ival) && ival > 0) { spf_lib_ctx->spf_hash = rspamd_lru_hash_new ( ival, - NULL, + g_free, spf_record_cached_unref_dtor); } } @@ -227,7 +227,7 @@ spf_library_config (const ucl_object_t *obj) /* Preserve compatibility */ spf_lib_ctx->spf_hash = rspamd_lru_hash_new ( 2048, - NULL, + g_free, spf_record_cached_unref_dtor); } } @@ -606,7 +606,8 @@ rspamd_spf_maybe_return (struct spf_record *rec) if (spf_lib_ctx->spf_hash) { rspamd_lru_hash_insert (spf_lib_ctx->spf_hash, - flat->domain, spf_record_ref (flat), + g_strdup (flat->domain), + spf_record_ref (flat), flat->timestamp, flat->ttl); msg_info_task ("stored record for %s (0x%xuL) in LRU cache for %d seconds, " -- 2.47.3