]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Do not free string explicitly to allow new parser to work
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 14 Dec 2016 13:41:39 +0000 (13:41 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 14 Dec 2016 13:42:48 +0000 (13:42 +0000)
src/libmime/message.c
src/libserver/task.c

index e8b8f0bab14d7c95194e731d42cb60cf929d1ca5..b259fdb0c6d9e188d7383e62b07307976f8ac298 100644 (file)
@@ -914,6 +914,7 @@ mime_foreach_callback (GMimeObject * part, gpointer user_data)
                        rspamd_mime_headers_process (task, mime_part->raw_headers,
                                        hdrs, strlen (hdrs), FALSE);
                        mime_part->raw_headers_str = hdrs;
+                       rspamd_mempool_add_destructor (task->task_pool, g_free, hdrs);
                }
 
                mime_part->type = type;
@@ -983,6 +984,7 @@ mime_foreach_callback (GMimeObject * part, gpointer user_data)
                                        rspamd_mime_headers_process (task, mime_part->raw_headers,
                                                        hdrs, strlen (hdrs), FALSE);
                                        mime_part->raw_headers_str = hdrs;
+                                       rspamd_mempool_add_destructor (task->task_pool, g_free, hdrs);
                                }
 
                                mime_part->type = type;
index 5ef1fedb65543e73105d81c3e78a183dacecd2d7..bcf66aee8fd72a8319ecda1141c3b867822c4780 100644 (file)
@@ -199,10 +199,9 @@ rspamd_task_free (struct rspamd_task *task)
 
                for (i = 0; i < task->parts->len; i ++) {
                        p = g_ptr_array_index (task->parts, i);
-                       g_byte_array_free (p->content, TRUE);
 
-                       if (p->raw_headers_str) {
-                               g_free (p->raw_headers_str);
+                       if (p->content) {
+                               g_byte_array_free (p->content, TRUE);
                        }
 
                        if (p->raw_headers) {