From d7fdd3d33782ffc5ee961e25c07e2df5aec6b53a Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 9 Jul 2018 10:50:36 +0100 Subject: [PATCH] [Minor] Fix aligned access --- src/fuzzy_storage.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c index 732e600358..704f160f46 100644 --- a/src/fuzzy_storage.c +++ b/src/fuzzy_storage.c @@ -781,6 +781,7 @@ rspamd_fuzzy_check_callback (struct rspamd_fuzzy_reply *result, void *ud) gboolean encrypted = FALSE, is_shingle = FALSE; struct rspamd_fuzzy_cmd *cmd = NULL; const struct rspamd_shingle *shingle = NULL; + struct rspamd_shingle sgl_cpy; switch (session->cmd_type) { case CMD_NORMAL: @@ -788,7 +789,8 @@ rspamd_fuzzy_check_callback (struct rspamd_fuzzy_reply *result, void *ud) break; case CMD_SHINGLE: cmd = &session->cmd.shingle.basic; - shingle = &session->cmd.shingle.sgl; + memcpy (&sgl_cpy, &session->cmd.shingle.sgl, sizeof (sgl_cpy)); + shingle = &sgl_cpy; is_shingle = TRUE; break; case CMD_ENCRYPTED_NORMAL: @@ -797,7 +799,8 @@ rspamd_fuzzy_check_callback (struct rspamd_fuzzy_reply *result, void *ud) break; case CMD_ENCRYPTED_SHINGLE: cmd = &session->cmd.enc_shingle.cmd.basic; - shingle = &session->cmd.enc_shingle.cmd.sgl; + memcpy (&sgl_cpy, &session->cmd.enc_shingle.cmd.sgl, sizeof (sgl_cpy)); + shingle = &sgl_cpy; encrypted = TRUE; is_shingle = TRUE; break; -- 2.47.3