From 99b2488c7a34958b1cdf995f03965488fa2ed090 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 22 Dec 2014 16:55:37 +0000 Subject: [PATCH] Fix initialization issues for some variables. --- src/fuzzy_storage.c | 1 + src/libmime/message.c | 2 ++ src/plugins/fuzzy_check.c | 19 ++++++------------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c index 8c32b423a..3e7d13db5 100644 --- a/src/fuzzy_storage.c +++ b/src/fuzzy_storage.c @@ -295,6 +295,7 @@ accept_fuzzy_socket (gint fd, short what, void *arg) } else if ((guint)r >= sizeof (struct rspamd_fuzzy_cmd)) { /* Check shingles count sanity */ + session.legacy = FALSE; cmd = (struct rspamd_fuzzy_cmd *)buf; if (!rspamd_fuzzy_command_valid (cmd, r)) { /* Bad input */ diff --git a/src/libmime/message.c b/src/libmime/message.c index f465b1c06..8ce3e720f 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -1130,6 +1130,8 @@ process_text_part (struct rspamd_task *task, buf.begin = text_part->content->data; buf.len = text_part->content->len; buf.size = buf.len; + token.begin = NULL; + token.len = 0; text_part->words = g_array_new (FALSE, FALSE, sizeof (rspamd_fstring_t)); while ((pos = rspamd_tokenizer_get_word (&buf, diff --git a/src/plugins/fuzzy_check.c b/src/plugins/fuzzy_check.c index e807bec68..d84b69ee6 100644 --- a/src/plugins/fuzzy_check.c +++ b/src/plugins/fuzzy_check.c @@ -553,7 +553,7 @@ fuzzy_cmd_from_text_part (struct fuzzy_rule *rule, blake2b_state st; rspamd_fstring_t *word; - if (legacy || part->words == NULL) { + if (legacy || part->words == NULL || part->words->len == 0) { cmd = rspamd_mempool_alloc0 (pool, sizeof (*cmd)); cmd->shingles_count = 0; @@ -809,12 +809,7 @@ fuzzy_io_callback (gint fd, short what, void *arg) } else { rspamd_upstream_ok (session->server); - if (session->commands->len == 0) { - /* - * All requests are processed now - */ - remove_normal_event (session->task->s, fuzzy_io_fin, session); - } + remove_normal_event (session->task->s, fuzzy_io_fin, session); } } @@ -916,12 +911,10 @@ fuzzy_learn_callback (gint fd, short what, void *arg) rspamd_upstream_ok (session->server); } - if (ret == -1 || session->commands->len == 0) { - (*session->saved) --; - rspamd_http_connection_unref (session->http_entry->conn); - event_del (&session->ev); - close (session->fd); - } + (*session->saved) --; + rspamd_http_connection_unref (session->http_entry->conn); + event_del (&session->ev); + close (session->fd); if (*session->saved == 0) { if (*(session->err) != NULL) { -- 2.39.5