From bb2d73b4d4e0729d0e637ccffd9ee8f2d41c3b4d Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 25 Apr 2016 10:54:58 +0100 Subject: [PATCH] [Fix] Fix issue with missing recipients --- src/libserver/protocol.c | 4 ++++ src/libserver/task.c | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c index e95321966..0426022a7 100644 --- a/src/libserver/protocol.c +++ b/src/libserver/protocol.c @@ -349,6 +349,10 @@ rspamd_protocol_handle_headers (struct rspamd_task *task, addr = rspamd_email_address_from_smtp (hv->str, hv->len); if (addr) { + if (task->rcpt_envelope == NULL) { + task->rcpt_envelope = g_ptr_array_new (); + } + g_ptr_array_add (task->rcpt_envelope, addr); } else { diff --git a/src/libserver/task.c b/src/libserver/task.c index d1adbcd0b..395d71686 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -190,9 +190,11 @@ rspamd_task_free (struct rspamd_task *task) } } - for (i = 0; i < task->rcpt_envelope->len; i ++) { - addr = g_ptr_array_index (task->rcpt_envelope, i); - rspamd_email_address_unref (addr); + if (task->rcpt_envelope) { + for (i = 0; i < task->rcpt_envelope->len; i ++) { + addr = g_ptr_array_index (task->rcpt_envelope, i); + rspamd_email_address_unref (addr); + } } if (task->from_envelope) { -- 2.39.5