aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-04-25 10:54:58 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-04-25 10:54:58 +0100
commitbb2d73b4d4e0729d0e637ccffd9ee8f2d41c3b4d (patch)
tree5601a0d199d2b11c5e10684978d13fbe79397b69 /src
parent5ea8345fa3deb583cc99d9d7aa7659b90aad3743 (diff)
downloadrspamd-bb2d73b4d4e0729d0e637ccffd9ee8f2d41c3b4d.tar.gz
rspamd-bb2d73b4d4e0729d0e637ccffd9ee8f2d41c3b4d.zip
[Fix] Fix issue with missing recipients
Diffstat (limited to 'src')
-rw-r--r--src/libserver/protocol.c4
-rw-r--r--src/libserver/task.c8
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) {