From: Vsevolod Stakhov Date: Tue, 26 May 2015 09:09:03 +0000 (+0100) Subject: Fix hashing. X-Git-Tag: 1.0.0~613^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9f4ebd97d0fbc2bffba13ec945de5e785b15b371;p=thirdparty%2Frspamd.git Fix hashing. --- diff --git a/src/libserver/events.c b/src/libserver/events.c index 05d11e2d30..74559872cd 100644 --- a/src/libserver/events.c +++ b/src/libserver/events.c @@ -25,6 +25,7 @@ #include "config.h" #include "main.h" #include "events.h" +#include "xxhash.h" #define RSPAMD_SESSION_FLAG_WATCHING (1 << 0) #define RSPAMD_SESSION_FLAG_DESTROYING (1 << 1) @@ -73,10 +74,16 @@ rspamd_event_hash (gconstpointer a) { const struct rspamd_async_event *ev = a; XXH64_state_t st; + union { + event_finalizer_t f; + gpointer p; + } u; + + u.f = ev->fin; XXH64_reset (&st, rspamd_hash_seed ()); XXH64_update (&st, ev->user_data, sizeof (gpointer)); - XXH64_update (&st, ev->fin, sizeof (*ev->fin)); + XXH64_update (&st, &u, sizeof (u)); return XXH64_digest (&st); }