commit a3f2acd: [Minor] Fix race condition with LRU keys lifetime

Vsevolod Stakhov vsevolod at highsecure.ru
Fri Dec 6 14:00:08 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-12-06 13:58:39 +0000
URL: https://github.com/rspamd/rspamd/commit/a3f2acd3f7388425bfc486234b9c1ca066a62f1a (HEAD -> master)

[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 d21789c01..a282035be 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, "


More information about the Commits mailing list