]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Fix issue with missing recipients
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 25 Apr 2016 09:54:58 +0000 (10:54 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 25 Apr 2016 09:54:58 +0000 (10:54 +0100)
src/libserver/protocol.c
src/libserver/task.c

index e95321966916874f5271db1c8a370ad5ca0f49d4..0426022a7cabc0e4c6a7332e782b6d1a8768f2e4 100644 (file)
@@ -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 {
index d1adbcd0b5bab42d72878873c9f0c1d8f57d4b61..395d71686814e4052369b1410dfe2ca8df4e4c41 100644 (file)
@@ -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) {