}
part = g_mime_message_get_mime_part (task->message);
- if (part && GMIME_IS_PART (part)) {
- part_enc = g_mime_part_get_encoding (GMIME_PART (part));
- g_object_unref (part);
+ if (part) {
+ if (GMIME_IS_PART (part)) {
+ part_enc = g_mime_part_get_encoding (GMIME_PART (part));
- msg_debug ("rspamd_compare_transfer_encoding: got encoding in part: %d and compare with %d",
- (int)part_enc, (int)enc_req);
+ msg_debug ("rspamd_compare_transfer_encoding: got encoding in part: %d and compare with %d",
+ (int)part_enc, (int)enc_req);
+ g_object_unref (part);
- return part_enc == enc_req;
+ return part_enc == enc_req;
+ }
+ g_object_unref (part);
}
return FALSE;
}
}
+static void
+destroy_message (void *pointer)
+{
+ GMimeMessage *msg = pointer;
+
+ msg_debug ("destroy_message: freeing pointer %p", msg);
+ g_object_unref (msg);
+}
+
int
process_message (struct worker_task *task)
{
}
task->message = message;
- memory_pool_add_destructor (task->task_pool, (pool_destruct_func)g_object_unref, task->message);
+ memory_pool_add_destructor (task->task_pool, (pool_destruct_func)destroy_message, task->message);
#ifdef GMIME24
g_mime_message_foreach (message, mime_foreach_callback, task);