diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-04-25 10:54:58 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-04-25 10:54:58 +0100 |
commit | bb2d73b4d4e0729d0e637ccffd9ee8f2d41c3b4d (patch) | |
tree | 5601a0d199d2b11c5e10684978d13fbe79397b69 /src | |
parent | 5ea8345fa3deb583cc99d9d7aa7659b90aad3743 (diff) | |
download | rspamd-bb2d73b4d4e0729d0e637ccffd9ee8f2d41c3b4d.tar.gz rspamd-bb2d73b4d4e0729d0e637ccffd9ee8f2d41c3b4d.zip |
[Fix] Fix issue with missing recipients
Diffstat (limited to 'src')
-rw-r--r-- | src/libserver/protocol.c | 4 | ||||
-rw-r--r-- | 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) { |