]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Another memory leak plugged
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 30 Sep 2016 14:27:08 +0000 (15:27 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 30 Sep 2016 14:27:08 +0000 (15:27 +0100)
src/libserver/protocol.c
src/libserver/task.c

index 3ec4c7eca1e4406d0a69bb24d4a3d4ba7322e8ea..95490ea4c039f6c78a2a907e60e0d21cf0d62dfc 100644 (file)
@@ -363,7 +363,7 @@ rspamd_protocol_handle_headers (struct rspamd_task *task,
 
                                        if (addr) {
                                                if (task->rcpt_envelope == NULL) {
-                                                       task->rcpt_envelope = g_ptr_array_new ();
+                                                       task->rcpt_envelope = g_ptr_array_sized_new (2);
                                                }
 
                                                g_ptr_array_add (task->rcpt_envelope, addr);
index e6cede086e4b9a5cbd14529413cab6d0d8502bc1..6b92593de481e06f659b61e4ed8fec07b22def15 100644 (file)
@@ -225,6 +225,8 @@ rspamd_task_free (struct rspamd_task *task)
                                addr = g_ptr_array_index (task->rcpt_envelope, i);
                                rspamd_email_address_unref (addr);
                        }
+
+                       g_ptr_array_free (task->rcpt_envelope, TRUE);
                }
 
                if (task->from_envelope) {